sélectionner un objet graphique dans un contexte de périphérique
Cette rubrique s'applique à utiliser des objets graphiques dans le contexte du périphérique d'une fenêtre. Après avoir créer un objet de dessin, vous devez sélectionner dans le contexte de périphérique à la place de l'objet par défaut stocké que :
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
}
}
Durée de vie des objets graphiques
L'objet graphique retourné par SelectObject est "temporaire". Cela étant, il est supprimé par la fonction membre OnIdle de la classe CWinApp la prochaine exécution du programme traverse une durée d'inactivité. Tant que vous utilisez l'objet retourné par SelectObject dans une seule fonction sans restituer le contrôle à la boucle de message principal, vous n'aurez aucun problème.