MFCの入門書に
0:     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に代入してしまうのではないのでしょうか?