Zaznaczanie obiektu graficznego do kontekstu urządzenia
Ten temat dotyczy obiektach graficznych kontekstu urządzenia okna.Po Tworzenie obiektu rysunkowego, zaznacz go do kontekstu urządzenia zamiast domyślnego obiektu tam przechowywane:
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
}
}
Okres istnienia obiektów graficznych
Obiekt graficzny, zwrócony przez WybierzObiekt jest "czasowego". Oznacza to, że zostanie ono usunięte przez OnIdle funkcji składowej klasy CWinApp czasu następnym razem program pobiera bezczynności.Tak długo, jak używać obiektu zwróconego przez SelectObject w pojedynczą funkcję bez zwróceniem sterowania do pętli głównych wiadomość będzie bez problemu.