Wybieranie obiektu graficznego do kontekstu urządzenia
Ten temat dotyczy w kontekstu urządzenia okna za pomocą obiektów graficznych.Po Tworzenie obiektu rysunkowego, należy go zaznaczyć 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 (SelectObject) jest "tymczasowe". To znaczy, zostanie usunięty przez OnIdle funkcji składowej klasy CWinApp czas następnym razem program pobiera bezczynności.Tak długo, jak długo Użyj obiektu zwróconego przez SelectObject w pojedynczą funkcję bez zwróceniem sterowania do pętli głównej wiadomości, będzie miał problemu.