Auswählen eines Grafikobjekts in einen Gerätekontext

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.

ad8zd3da.collapse_all(de-de,VS.110).gifWorüber möchten Sie mehr erfahren?

Siehe auch

Konzepte

Grafikobjekte