「初期状態」
void CChildView::OnPaint()
{
CPaintDC dc(this); // 描画のデバイス コンテキスト
// TODO : ここにメッセージ ハンドラ コードを追加します。
}
1.CPaintDCクラスの
SelectStockObject(WHITE_PEN);にて色を選ぶ.この関数の戻り値は以前のペンを指すポインタを受け取る(*pOldPenに受け取る)
2.CPaintDCクラスのMoveTo(1,2)はその地点への移動
し,LineTo(3,4)はそこまで線を引く.
「線の表示プログラム」
void CChildView::OnPaint()
{
CPaintDC dc(this); // 描画のデバイス コンテキスト
// TODO : ここにメッセージ ハンドラ コードを追加します。
//流れ星を表示 Brushと似た手続き
CPen *pOldPen;
pOldPen = (CPen *) dc.SelectStockObject(BLACK_PEN);
dc.MoveTo(111,222);
dc.LineTo(333,444);
dc.LineTo(555,444);
dc.SelectObject(pOldPen);
}
*追記*
これはストックされた色のペンを使う場合であり,
ここのBLACK_PEN以外を使いたい場合は自分でペンをクリエイトする必要がある.
//CDCクラスのオブジェクトのポインタを代入する変数名 pDC は、デバイスコンテキストへのポインタという意味で普通は pDC
になっています。
CDC *pDC=GetDC( );
CPen pen;
CPen *pOldpen;
pen.CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
pOldpen = pDC->SelectObject(&pen); //pDCはCDC*
//描画
pDC->MoveTo(0,WINDOWCENTER_Y *15/8);//-140度補助線
pDC->LineTo(WINDOWCENTER_X * 2,WINDOWCENTER_Y *15/8);
//破棄の処理
pDC->SelectObject(pOldpen);
pen.DeleteObject();
詳細
http://72.14.235.104/search?q=cache:4GG50HP4z2oJ:www13.ocn.ne.jp/~kancha/progmemo3.html+SelectStockObject+%E9%BB%92+%E7%99%BD+%E4%BB%A5%E5%A4%96%E3%81%AE%E8%89%B2&hl=ja&ct=clnk&cd=2&gl=jp&lr=lang_ja&client=firefox
最終更新:2007年12月14日 22:43