WM_SETREDRAW message

Vous envoyez le message WM_SETREDRAW à une fenêtre pour autoriser le redessination des modifications apportées à cette fenêtre ou pour empêcher le redessination des modifications apportées à cette fenêtre.

Pour envoyer ce message, appelez la fonction SendMessage avec les paramètres suivants.

SendMessage(
  (HWND) hWnd,
  WM_SETREDRAW,
  (WPARAM) wParam,
  (LPARAM) lParam
);

Paramètres

wParam

État de redessinage. Si ce paramètre a la valeur TRUE, le contenu peut être redessiné après une modification. Si ce paramètre a la valeur FALSE, le contenu ne peut pas être redessiné après une modification.

lParam

Ce paramètre n’est pas utilisé.

Valeur retournée

Votre application doit retourner 0 si elle traite ce message.

Notes

Ce message peut être utile si votre application doit ajouter plusieurs éléments à une zone de liste. Votre application peut appeler ce message avec wParam défini sur FALSE, ajouter les éléments, puis appeler à nouveau le message avec wParam défini sur TRUE. Enfin, votre application peut appeler RedrawWindow(hWnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN) pour que la zone de liste soit repeinte.

Remarque

Vous devez utiliser RedrawWindow avec les indicateurs spécifiés, au lieu de InvalidateRect, car la première est nécessaire pour certains contrôles qui ont leur propre zone non cliente ou qui ont des styles de fenêtre qui leur donnent une zone non cliente (par exemple , WS_THICKFRAME, WS_BORDER ou WS_EX_CLIENTEDGE). Si le contrôle n’a pas de zone non cliente, RedrawWindow avec ces indicateurs n’effectue qu’autant d’invalidation que InvalidateRect .

Le passage d’un message WM_SETREDRAW à la fonction DefWindowProc supprime le style WS_VISIBLE de la fenêtre lorsque wParam a la valeur FALSE. Bien que le contenu de la fenêtre reste visible à l’écran, la fonction IsWindowVisible retourne FALSE lorsqu’elle est appelée sur une fenêtre dans cet état.

Le passage d’un message WM_SETREDRAW à la fonction DefWindowProc ajoute le style WS_VISIBLE à la fenêtre, s’il n’est pas défini, lorsque wParam a la valeur TRUE. Si votre application envoie le message WM_SETREDRAW avec wParam défini sur TRUE dans une fenêtre masquée, la fenêtre devient visible.

Windows 10 et versions ultérieures; Windows Server 2016 et versions ultérieures. Le système définit une propriété nommée SysSetRedraw sur une fenêtre dont la procédure de fenêtre transmet WM_SETREDRAW messages à DefWindowProc. Vous pouvez utiliser la fonction GetProp pour obtenir la valeur de la propriété lorsqu’elle est disponible. GetProp retourne une valeur différente de zéro lorsque le redessinage est désactivé. GetProp retourne zéro lorsque le redessinage est activé ou lorsque la propriété de fenêtre n’existe pas.

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête
Winuser.h (inclure Windows.h)

Voir aussi