2012-03-12 33 views
0

私は、Borland C++ビルダーで書かれたアプリケーションを持っていますので、Visual Studioに書き込む必要があります。C++ BuilderからVisual C++

#include "Car.h" 
#include "Form.h" 

extern TForm1 *Form1; 

Car::Car() 
{ 
    aCanvas = Form1->FieldImage->Canvas; 
    color = clYellow; 
    ..... 
} 

void Car::draw() 
{ 
    aCanvas->Pen->Color = color; 
    //aCanvas.... 
    //aCanvas.... 
    //some code for drawing.... 
} 

は今、どのようにフォームにあるパネル1にそのイメージ描画する:Car.cpp私はCar.hを持っているし、ここにあなたが見ることができますか?私はCanvasを取り除き、描画のためにパネルを使う方法を知らない。 Form1_Loadで

は私が書く:私は小さな支援事業のためのC++ Builderを使用したリコール何、ボーランドは、C++ Builderのための独自のクラス・ライブラリを使用しています

Car * car1; 
car1 = new Car; 
car1->draw(); 

答えて

0

から。このライブラリはC++ BuilderのためのMicrosoft MFC/ATLクラス(私が正しく覚えていれば彼らはthiers Object Windows Library(OWL)と呼んだと思います)を直接代用していません。

最後にC++ Builderを使用して以来(最近のバージョンはありますか?)MicrosoftはMFCのいくつかのクラス、特にグラフィックスに関連するクラスの動作を変更しました。

C++ Builderで使用しているOWLと、使用しているVisual StudioのバージョンのMFC/ATLのバージョンとの間のマッピングを把握する必要があります。

最後に、Canvasクラスを使用して描画することになりますが、そのCanvasクラスへのアクセス方法は少し変わります。

+0

Borland C++ BuilderはVCLを使用します。 OWLは以前のツールであるBorland C++で使用されていました。 OWLはMFCによく似ていますが、VCLはWinFormsに似ていますので、VCLアプリケーションをMFCに変換することはほとんど不可能です。 – Jogy

0

Windowsフォームフレームワークは、Borland C++ Builder VCLに最も近いMSフレームワークです。しかし、C#を学習する必要があるかもしれません。 C++/CLIのWinFormsを使用できるかどうかはわかりません。

+0

"* C++/CLIのWinFormsを使用できるかどうかはわかりません*"これはお勧めしませんが、 – ildjarn

+0

まあ、私はこの作業を終え、それは働いています。そして、Borland C++のバージョンとの違いはたくさんあります。実際には、何かを作成しなければならないときは、常にC#を使用します。しかし、これは私がやらなければならなかったちょっとした仕事でした。私はそのC++/CLIを使用しなければなりませんでした。 C++の最初の経験に似ていました。 –