選取圖形物件放入裝置內容
這個主題適用於使用中視窗的裝置內容的圖形物件。 之後您建立繪圖物件,您必須將它選取至裝置內容儲存在該處的預設物件的位置:
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 巨集是 「 暫時 」。亦即,它將會刪除 OnIdle 成員函式類別的CWinApp下一次的程式產生了閒置的時間。 只要您使用物件所傳回的SelectObject在單一函式不將控制權交回主訊息迴圈的情況下,您必須不會造成問題。