Freigeben über


Auswählen eines Grafikobjekts für einen Gerätekontext

Dieses Thema bezieht sich auf die Anwendung von Grafikobjekten im Gerätekontext eines Fensters zu. Nachdem Sie erstellen Sie ein Zeichnungsobjekt, Sie es in den Gerätekontext anstelle des Standardobjekts auswählen müssen, die dort 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 vom SelectObject zurückgegeben wird, ist "temporär." Das bedeutet, wird durch die OnIdle-Memberfunktion der Klasse CWinApp gelöscht beim nächsten Mal, wenn das Programm Leerlaufzeit abruft. Solange Sie das Objekt verwenden, das von SelectObject in einer einzelnen Funktion zurückgegeben wird, ohne der Hauptnachrichtenschleife Steuerelement zurückzugeben, können Sie kein Problem.

Worüber möchten Sie mehr erfahren?

Siehe auch

Konzepte

Grafikobjekte