PictureControl に矩形を表示

VC++ で Dialog Box に貼り付けた PictureControl に矩形を表示します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プログラムの説明

  1. ページ先頭の画像を参考にして、DialogBox を作成して下さい。
    PictureControl のIDを IDC_PIC に設定して下さい。
  2. WM_PAINT: で PictureControl に矩形を描画します。
    1. GetDlgItem(hDlg,IDC_PIC); で PictureControl のウインドウハンドルを取得します。
              HWND    hCtrl;
              hCtrl= GetDlgItem(hDlg,IDC_PIC);
              
    2. GetWindowRect(hCtrl,&rc); で PictureControl のサイズ(矩形領域)を取得します。
              RECT    rc;
              GetWindowRect(hCtrl,&rc);
              
    3. GetDC(hCtrl); で PictureControl のデバイスコンテキストを取得します。
              HDC     hDC;
              hDC= GetDC(hCtrl);
              
    4. ウインドウに描画するときと同じようにブラシを設定して矩形を描画します。
      ウインドウズプログラムの WM_PAINT では、BeginPaint() で hDC を取得していました。
      PictureControl と普通のウインドウズの WM_PAINT の違いに注目して下さい。
    5. 作成したブラシや、取得した hDC を開放します。
              DeleteObject(hBrush1);
              ReleaseDC(hCtrl,hDC);
              

【課題】

  1. PictureControl の幅を 400 ピクセルに合わせて下さい。
    幅 400 ピクセルの矩形を描画するソースコードです。
    Rectangle(hdc,0,0,400,rc.bottom-rc.top);
  2. PictureControl にページ先頭の図形を表示して下さい。
  3. PictureControl に円(楕円)や星のマークを描いて下さい。

超初心者の方のために全ソースコードを掲載します。 (^_^;)
全ソースコード

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