Partilhar via


Selecionando um objeto gráfico em um contexto de dispositivo

Este tópico aplica-se ao uso de objetos gráficos no contexto do dispositivo de uma janela. Depois que você crie um objeto de desenho, você deve selecionar o no contexto do dispositivo no lugar do objeto padrão armazenado:

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

Tempo de vida de objetos gráficos

O objeto retornado por SelectObject gráfico é “temporário.” Ou seja, será excluído pela função de membro de OnIdle da classe CWinApp a próxima vez que o programa obtém o tempo ocioso. Como você usa o objeto retornado por SelectObject em uma única função não retornará o controle ao loop principal da mensagem, você não terá nenhum problema.

Que você deseja saber mais?

Consulte também

Conceitos

Objetos gráficos