Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Thema bezieht sich auf die Verwendung von Grafikobjekten im Gerätekontext eines Fensters.Nachdem Sie erstellen Sie ein Zeichnungsobjekt, Sie es in den Gerätekontext anstelle des standardmäßigen Objekts auswählen müssen, um gespeichert wird:
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
}
}
Lebensdauer von Grafikobjekten
Das Grafikobjekt, das von SelectObject zurückgegeben wird, ist "temporär". Das heißt, wird es von der OnIdle-Memberfunktion der Klasse CWinApp das nächste Mal gelöscht, wenn das Programm Leerlaufzeit abruft.Solange Sie das Objekt mit dem von SelectObject in einer einzelnen Funktion zurückgegebene Steuerelement zurückzugeben, ohne die wichtigsten Meldungsschleife, liegt kein Problem dar.
Worüber möchten Sie mehr erfahren?