図形の印字

VC++ で線や矩形や円や楕円を印字します。

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

プロジェクトの設定

  1. 新規プロジェクトを作成して、メニューを設定して下さい。
    キャプションID
    ファイル(&F) 親メニュー
    終了(&X) IDM_END
    印刷(&P) IDM_PRINT
    プリンタ設定(&S)IDM_SET
  2. 印刷を中止する Dialog Box を作成して下さい。
    BOXIDキャプション
    DialogBoxIDD_DIALOG1 印刷中止
    Button IDCANCEL キャンセル
  3. プログラム全般に付いては プリンタの設定 を参照して下さい。
  4. プリンタに印字する関数です。
    自前の関数 PaintDraw(hdc); で図形を印字します。
        int MyPrint(void)
        {   HDC     hdc;
                  :
                  :
            StartDoc(hdc, &docinfo);
            StartPage(hdc);
    
            PaintDraw(hdc);
                  :
            DeleteDC(hdc);
            return 0;
        }
        
  5. PaintDraw(hdc); 関数です。
    図形の印字は簡単で、プリンタの HDC に対して画面のときと同じように描画するだけです。
    GetDeviceCaps(hdc, HORZRES) で用紙の幅(ピクセル単位)を取得しています。
    GetDeviceCaps(hdc, VERTRES) で用紙の高さ(ピクセル単位)を取得しています。
        void PaintDraw(HDC hdc)
        {   int  wx, wy, i;
    
            wx = GetDeviceCaps(hdc, HORZRES);
            wy = GetDeviceCaps(hdc, VERTRES);
            for (i = 50; i <= wy; i += 200)
            {   MoveToEx(hdc, 50, i, NULL);
                LineTo(hdc, wx, i);
            }
            return;
        }
        

【演習】

  1. プログラムを完成させて下さい。
  2. 矩形や円や楕円を印字して下さい。

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

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