Partager via


Fenêtres redimensionnées

Le système change la taille d’une fenêtre lorsque l’utilisateur choisit des commandes de menu de fenêtre, telles que Taille et Agrandir, ou lorsque l’application appelle des fonctions, telles que la fonction SetWindowPos . Lorsqu’une fenêtre change de taille, le système suppose que le contenu de la partie précédemment exposée de la fenêtre n’est pas affecté et n’a pas besoin d’être redessiné. Le système invalide uniquement la partie nouvellement exposée de la fenêtre, ce qui permet de gagner du temps lorsque le message WM_PAINT final est traité par l’application. Dans ce cas, WM_PAINT n’est pas généré lorsque la taille de la fenêtre est réduite.

Pour certaines fenêtres, toute modification apportée à la taille de la fenêtre invalide le contenu. Par exemple, une application d’horloge qui adapte la face de l’horloge pour qu’elle s’adapte parfaitement à sa fenêtre doit redessiner l’horloge chaque fois que la fenêtre change de taille. Pour forcer le système à invalider la totalité de la zone cliente de la fenêtre lorsqu’une modification verticale, horizontale ou à la fois verticale et horizontale est effectuée, une application doit spécifier le style CS_VREDRAW ou CS_HREDRAW, ou les deux, lors de l’inscription de la classe de fenêtre. Toute fenêtre appartenant à une classe de fenêtre ayant ces styles est invalidée chaque fois que l’utilisateur ou l’application modifie la taille de la fenêtre.