Partager via


Contextes de périphérique

Un contexte d’appareil est une structure de données Windows contenant des informations sur les attributs de dessin d’un appareil, tels qu’un affichage ou une imprimante. Tous les appels de dessin sont effectués via un objet de contexte d’appareil, qui encapsule les API Windows pour dessiner des lignes, des formes et du texte. Les contextes d’appareil autorisent le dessin indépendant de l’appareil dans Windows. Les contextes d’appareil peuvent être utilisés pour dessiner sur l’écran, sur l’imprimante ou sur un métafichier.

Les objets CPaintDC encapsulent l’idiome commun de Windows, appelant la BeginPaint fonction, puis dessinant dans le contexte de l’appareil, puis appelant la EndPaint fonction. Le CPaintDC constructeur vous appelle BeginPaint , et le destructeur appelle EndPaint. Le processus simplifié consiste à créer l’objet CDC , dessiner, puis détruire l’objet CDC . Dans l’infrastructure, une grande partie de ce processus est automatisée. En particulier, votre OnDraw fonction est passée à un CPaintDC déjà préparé (via OnPrepareDC), et vous vous y trouvez simplement. Il est détruit par l’infrastructure et le contexte d’appareil sous-jacent est libéré sur Windows lors du retour de l’appel à votre OnDraw fonction.

Les objets CClientDC encapsulent l’utilisation d’un contexte d’appareil qui représente uniquement la zone cliente d’une fenêtre. Le CClientDC constructeur appelle la GetDC fonction, et le destructeur appelle la ReleaseDC fonction. Les objets CWindowDC encapsulent un contexte d’appareil qui représente la fenêtre entière, y compris son cadre.

Les objets CMetaFileDC encapsulent le dessin dans un métafichier Windows. Contrairement au CPaintDCOnDrawpassé, vous devez dans ce cas appeler OnPrepareDC vous-même.

Dessin de la souris

La plupart des dessins dans un programme d’infrastructure ( et donc la plupart des travaux de contexte d’appareil) sont effectués dans la fonction membre de OnDraw la vue. Toutefois, vous pouvez toujours utiliser des objets de contexte d’appareil à d’autres fins. Par exemple, pour fournir des commentaires de suivi pour le déplacement de la souris dans une vue, vous devez dessiner directement dans la vue sans attendre OnDraw d’être appelé.

Dans ce cas, vous pouvez utiliser un objet de contexte d’appareil CClientDC pour dessiner directement dans la vue.

Que voulez-vous en savoir plus sur

Voir aussi

Objets fenêtre