Visual Studio のプロジェクトでラインを描画

Visual Studio の環境で C++/CLI のプロジェクトを作成して、ラインを描画します。

前田稔の超初心者のプログラム入門

プログラムの説明

  1. C++/CLI の Form(Window)プロジェクトは [Visual C++] [CLR] [Windows フォームアプリケーション] として構築します。
    プロジェクトの作成は Visual Studio で C++/CLI のプロジェクトを作成 を参照して下さい。
  2. 自動的に作成されたファイル Form1.h を編集して、ラインを描画します。
    Form1.h にはプログラムの主要部分である Form1 Object Class が記述されています。
    Main.cpp は Form1 を呼び出すだけです。
    Form1 の Constructor に Paint イベントメソッドの呼び出しを設定して下さい。
    Paint += は省略した書き方です。
            Form1(void)
            {
                InitializeComponent();
                //
                //TODO: ここにコンストラクタ コードを追加します
                //
                //Paint += gcnew PaintEventHandler(this, &Form1::MyHandler);
                System::Windows::Forms::Control::Paint += gcnew PaintEventHandler(this, &Form1::MyHandler);
            }
        
  3. MyHandler() メソッドは Form1() に続いて記述します。
    Graphics^ g = は省略した書き方です。
    赤色の細いラインと緑色の太い線を描画しています。
            void MyHandler(Object^ sender, PaintEventArgs^ e)
            {
                //Graphics^ g = e->Graphics;
                System::Drawing::Graphics^  g = e->Graphics;
                g->DrawLine(gcnew Pen(Color::Red),10,50,260,50);
                g->DrawLine(gcnew Pen(Color::Green,10),10,150,260,150);
            }
        
  4. ビルド(コンパイル)に続いて実行を行うと、ウインドウに二本のラインが描画されます。
    この方法で作成したプロジェクトには、非常に多くのファイルが自動的に作成されます。
    例えば次のようなファイルで、削除しても差し支えないファイルも含まれます。
    app.ico
    app.rc
    AssemblyInfo.cpp
    Form1.h
    Form1.resx
    Main.cpp
    Main.ncb
    Main.sln
    Main.suo
    Main.vcproj
    ReadMe.txt
    resource.h
    stdafx.cpp
    stdafx.h

超初心者のプログラム入門(C/C++)