Quand dessiner dans une fenêtre
Une application se dessine dans une fenêtre à plusieurs moments : lors de la création d’une fenêtre, lors de la modification de la taille de la fenêtre, lors du déplacement de la fenêtre depuis une autre fenêtre, lors de la réduction ou de l’agrandissement de la fenêtre, lors de l’affichage des données d’un fichier ouvert, lors du défilement, de la modification ou de la sélection d’une partie des
Le système gère des actions telles que le déplacement et le redimensionnement d’une fenêtre. Si une action affecte le contenu de la fenêtre, le système marque la partie affectée de la fenêtre comme prête pour la mise à jour et, lors de la prochaine occasion, envoie un message de _ peinture WM à la procédure de fenêtre de la fenêtre. Le message est un signal à l’application pour déterminer ce qui doit être mis à jour et pour effectuer le dessin nécessaire.
Certaines actions sont gérées par l’application, telles que l’affichage des fichiers ouverts et la sélection des données affichées. Pour ces actions, une application peut marquer pour mettre à jour la partie de la fenêtre affectée par l’action, ce qui entraîne l’envoi d’un message de _ peinture WM à la prochaine occasion. Si une action requiert un retour immédiat, l’application peut dessiner pendant que l’action a lieu, sans attendre la _ peinture WM. Par exemple, une application classique met en surbrillance la zone sélectionnée par l’utilisateur au lieu d’attendre le prochain message de _ peinture WM pour mettre à jour la zone.
Dans tous les cas, une application peut dessiner dans une fenêtre dès sa création. Pour dessiner dans la fenêtre, l’application doit d’abord récupérer un handle vers un contexte de périphérique d’affichage pour la fenêtre. Dans l’idéal, une application effectue la plupart de ses opérations de dessin pendant le traitement des messages WM _ Paint . Dans ce cas, l’application récupère un contexte de périphérique d’affichage en appelant la fonction BeginPaint . Si une application est dessinée à tout moment, par exemple à partir de WinMain ou pendant le traitement des messages du clavier ou de la souris, elle appelle la fonction GetDC ou GetDCEx pour récupérer le DC d’affichage.