グラフィック オブジェクトをデバイス コンテキストに選択する
このトピックでは、ウィンドウのデバイス コンテキストでグラフィックス オブジェクトを使用することに適用されます。そこに格納されている既定のオブジェクトの代わりにデバイス コンテキストに 描画オブジェクトを作成します。でファイルを選択する必要がある後:
void CNewView::OnDraw(CDC* pDC)
{
CPen penBlack; // Construct it, then initialize
if(penBlack.CreatePen(PS_SOLID, 2, RGB(0,0,0)))
{
// Select it into the device context
// Save the old pen at the same time
CPen* pOldPen = pDC->SelectObject(&penBlack);
// Draw with the pen
pDC->MoveTo(20,20);
pDC->LineTo(40,40);
// Restore the old pen to the device context
pDC->SelectObject(pOldPen);
}
else
{
// Alert the user that resources are low
}
}
グラフィック オブジェクトの有効期間
SelectObject によって返されるグラフィックス オブジェクトは 「一時」。つまり、クラス CWinApp の OnIdle のメンバー関数によってプログラムがアイドル時間を取得するときに削除されます。一つの関数で返されるコントロールを使用せずに SelectObject によって返されるメイン メッセージ ループにオブジェクトを使用する場合、問題はありません。