Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico se aplica ao uso de objetos gráficos no contexto do dispositivo de uma janela. Depois de criar um objeto de desenho, você deve selecioná-lo no contexto do dispositivo no lugar do objeto padrão armazenado lá:
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 SelectObject é "temporário". Ou seja, ele será excluído pela função de membro OnIdle da classe CWinApp na próxima vez que o programa ficar ocioso. Desde que você use o objeto retornado por SelectObject dentro de uma única função sem retornar o controle para o loop de mensagem principal, você não terá nenhum problema.