Selecionar um objeto gráfico em um contexto de dispositivo
Este tópico aplica usando objetos gráficos no contexto de dispositivo da janela.Depois de criar um objeto de desenho, você deve selecioná-lo no contexto de dispositivo 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 gráfico retornado por SelecionarObjeto é "temporário". Ou seja, ela será excluída pelo OnIdle função de membro da classe CWinApp tempo da próxima vez que o programa fica ocioso.Como usar o objeto retornado por SelectObject em uma única função sem retornar controle para o loop de mensagem principal, você não terá nenhum problema.