■ MFC相談室 MFC12.dll■
■ このスレッドは過去ログ倉庫に格納されています
0222デフォルトの名無しさん
NGNG0: void CChildView::OnPaint()
1: {
2: CPaintDC dc(this); // 描画のデバイス コンテキスト
3:
4: // TODO : ここにメッセージ ハンドラ コードを追加します。
5:
6: // 夜空を表示する
7: CBrush NightBrush;
8: CBrush *pOldBrush;
9: NightBrush.CreateSolidBrush(RGB(0, 0, 128));
10: pOldBrush = dc.SelectObject(&NightBrush);
11: dc.Rectangle(0, 0, 400, 400);
12: dc.SelectObject(pOldBrush);
13: NightBrush.DeleteObject();
14: }
というコードが載っていて、解説によるとNightBrushオブジェクトを作成し、紺色のブラシとして初期化し
10行目でNightBrushをデバイス・コンテキストの「現在のブラシ」として選択してpOldBrushに以前のブラシの
ポインタを保存して、11行目で紺色を塗り、12行目で以前のブラシに戻す。とあるのですが10行目のようにすると
紺色になってしまった状態をpOldBrushに代入してしまうのではないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています