Partager via


Sélection d'un objet graphique dans un contexte de périphérique

Cette rubrique s’applique à l’utilisation d’objets graphiques dans le contexte d’appareil d’une fenêtre. Après avoir créé un objet de dessin, vous devez le sélectionner dans le contexte de l’appareil à la place de l’objet par défaut stocké ici :

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 ». Autrement dit, elle sera supprimée par la fonction membre OnIdle de la classe CWinApp la prochaine fois que le programme obtient le temps d’inactivité. Tant que vous utilisez l’objet retourné dans SelectObject une seule fonction sans retourner le contrôle à la boucle de message principale, vous n’aurez aucun problème.

Que voulez-vous en savoir plus sur

Voir aussi

Objets graphiques