「ゼロからはじめる Visual C++」(ゼミ, 2003, 荒木) 1 前回 (6/5) の復習 1. アプリケーションウィザードで、アプリケーションの雛形を作成 2. ウィンドウに、文字列・矩形 (Box)・点・直線を描くプログラムの作成 アプリケーションウィザードで雛形の作成 pp. 35∼36 文字列の表示 CChildView::OnPaint(void) に次のコードを追加 dc.SetTextColor(RGB(255,0,0)); dc.SetBkMode(TRANSPARENT); dc.TextOut(0,0,"まともに眠りたい"); 矩形の描画 CChildView::OnPaint(void) に次のコードを追加 CBrush NightBrush; CBrush *pOldBrush; NightBrush.CreateSolidBrush(RGB(0,0,128)); pOldBrush = dc.SelectObject(&NightBrush); dc.Rectangle(0,0,400,400); dc.SelectObject(pOldBrush); NightBrush.DeleteObject(); 点の描画 CChildView::OnPaint(void) に次のコードを追加 int i; CPoint star; srand(100); for(i=0;i<400;i++) { star.x = (int)((double)rand()*400/RAND_MAX); star.y = (int)((double)rand()*400/RAND_MAX); dc.SetPixel(star.x,star.y,RGB(0,255,255)); } 「ゼロからはじめる Visual C++」(ゼミ, 2003, 荒木) 2 直線の描画 CChildView::OnPaint(void) に次のコードを追加 CPen *pOldPen = (CPen *)dc.SelectStockObject(WHITE_PEN); dc.MoveTo(360,180); dc.LineTo(100,340); dc.SelectObject(pOldPen); ポイント 1. すべて MFC (マイクロソフトが提供するクラスライブラリ) の特殊な 仕様だから、覚える必要はまったくない。「こんなものか」という感じ でとらえておく。別の場所でおなじような処理をする必要があるときに は、ここでつくったコードをそのままコピーすればよいだけ。ただし、 どこをどう変えれば望むような結果になるか(たとえば、矩形の色を変 えるにはどこを変えればよいか)は、おぼろげにでもとらえておく。 2. ただし、点の描画の次の部分は、C/C++ 言語の基本。 int i; srand(100); for(i=0;i<400;i++) { star.x = (int)((double)rand()*400/RAND_MAX); star.y = (int)((double)rand()*400/RAND_MAX); } この部分だけは、何をやっているのか理解しておきましょう。 今回 (6/12) の作業 1. ビットマップエディタで月を描き、ウィンドウに表示させる 2. アプリケーションのメニューをデザイン 3. コマンドハンドラ関数の作成 4. コマンドハンドラ関数の中身を書く (「実装」) 5. 更新ハンドラ関数の作成と実装 6. アクセラレータキー (ショートカットキー) の設定
© Copyright 2024 ExpyDoc