Condividi tramite


Selezione di un oggetto grafico in un contesto di dispositivo

L'argomento è relativo a utilizzare oggetti grafici nel contesto di dispositivo di una finestra. Dopo avere creare un oggetto drawing, è necessario selezionarlo nel contesto di dispositivo anziché l'oggetto predefinito memorizzato presente:

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
    }
}

Durata degli oggetti grafici

L'oggetto grafico restituito da SelectObject è "temporaneo". Ovvero verrà eliminata dalla funzione membro di OnIdle di classe CWinApp la successiva esecuzione del programma ottiene il tempo di inattività. Mentre si utilizza l'oggetto restituito da SelectObject in una singola funzione senza restituire il controllo al ciclo di messaggi principale, non sarà problema.

Scegliere l'argomento su cui visualizzare maggiori informazioni

Vedere anche

Concetti

Oggetti grafici