RedrawWindow, fonction (winuser.h)

La fonction RedrawWindow met à jour le rectangle ou la région spécifié dans la zone cliente d’une fenêtre.

Syntaxe

BOOL RedrawWindow(
  [in] HWND       hWnd,
  [in] const RECT *lprcUpdate,
  [in] HRGN       hrgnUpdate,
  [in] UINT       flags
);

Paramètres

[in] hWnd

Poignée de la fenêtre à redessiner. Si ce paramètre a la valeur NULL, la fenêtre de bureau est mise à jour.

[in] lprcUpdate

Pointeur vers une structure RECT contenant les coordonnées, en unités d’appareil, du rectangle de mise à jour. Ce paramètre est ignoré si le paramètre hrgnUpdate identifie une région.

[in] hrgnUpdate

Handle de la région de mise à jour. Si les paramètres hrgnUpdate et lprcUpdate ont la valeur NULL, toute la zone cliente est ajoutée à la région de mise à jour.

[in] flags

Un ou plusieurs indicateurs de redessinage. Ce paramètre peut être utilisé pour invalider ou valider une fenêtre, contrôler le repeint et contrôler les fenêtres affectées par RedrawWindow.

Les indicateurs suivants sont utilisés pour invalider la fenêtre.

Indicateur (invalidation) Description
RDW_ERASE
Entraîne la réception d’un message WM_ERASEBKGND lorsque la fenêtre est repeinte. L’indicateur RDW_INVALIDATE doit également être spécifié ; sinon, RDW_ERASE n’a aucun effet.
RDW_FRAME
Entraîne la réception d’un message WM_NCPAINT toute partie de la zone non cliente de la fenêtre qui croise la région de mise à jour. L’indicateur RDW_INVALIDATE doit également être spécifié ; sinon, RDW_FRAME n’a aucun effet. Le message WM_NCPAINT n’est généralement pas envoyé pendant l’exécution de RedrawWindow , sauf si RDW_UPDATENOW ou RDW_ERASENOW est spécifié.
RDW_INTERNALPAINT
Entraîne la publication d’un message WM_PAINT dans la fenêtre, qu’une partie de la fenêtre ne soit pas valide ou non.
RDW_INVALIDATE
Invalide lprcUpdate ou hrgnUpdate (un seul peut être non NULL). Si les deux sont NULL, la fenêtre entière est invalidée.
 

Les indicateurs suivants sont utilisés pour valider la fenêtre.

Indicateur (validation) Description
RDW_NOERASE
Supprime tous les messages WM_ERASEBKGND en attente.
RDW_NOFRAME
Supprime tous les messages WM_NCPAINT en attente. Cet indicateur doit être utilisé avec RDW_VALIDATE et est généralement utilisé avec RDW_NOCHILDREN. RDW_NOFRAME doit être utilisé avec soin, car il pourrait entraîner une peinture incorrecte des parties d’une fenêtre.
RDW_NOINTERNALPAINT
Supprime tous les messages de WM_PAINT internes en attente. Cet indicateur n’affecte pas WM_PAINT messages résultant d’une zone de mise à jour non NULL .
RDW_VALIDATE
Valide lprcUpdate ou hrgnUpdate (un seul peut être non NULL). Si les deux sont NULL, la fenêtre entière est validée. Cet indicateur n’affecte pas les messages WM_PAINT internes.
 

Le contrôle d’indicateurs suivant en cas de repeint se produit. RedrawWindow ne repeint pas, sauf si l’un de ces indicateurs est spécifié.

Indicateur Description
RDW_ERASENOW
Entraîne la réception des WM_NCPAINT et des messages WM_ERASEBKGND , si nécessaire, par les fenêtres affectées (comme spécifié par les indicateurs RDW_ALLCHILDREN et RDW_NOCHILDREN) avant que la fonction ne retourne. WM_PAINT messages sont reçus à l’heure ordinaire.
RDW_UPDATENOW
Fait que les fenêtres affectées (comme spécifié par les indicateurs RDW_ALLCHILDREN et RDW_NOCHILDREN) reçoivent des messages WM_NCPAINT, WM_ERASEBKGND et WM_PAINT , si nécessaire, avant le retour de la fonction.
 

Par défaut, les fenêtres affectées par RedrawWindow dépendent si la fenêtre spécifiée a le style WS_CLIPCHILDREN. Les fenêtres enfants qui ne sont pas le style WS_CLIPCHILDREN ne sont pas affectées ; Les fenêtres non WS_CLIPCHILDREN sont validées ou invalidées de manière récursive jusqu’à ce qu’une fenêtre WS_CLIPCHILDREN soit rencontrée. Les indicateurs suivants contrôlent les fenêtres affectées par la fonction RedrawWindow .

Indicateur Description
RDW_ALLCHILDREN
Inclut les fenêtres enfants, le cas échéant, dans l’opération de repeint.
RDW_NOCHILDREN
Exclut les fenêtres enfants, le cas échéant, de l’opération de repeint.

Valeur retournée

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro.

Remarques

Lorsque RedrawWindow est utilisé pour invalider une partie de la fenêtre de bureau, la fenêtre de bureau ne reçoit pas de message WM_PAINT . Pour repeindre le bureau, une application utilise l’indicateur RDW_ERASE pour générer un message WM_ERASEBKGND .

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-draw-l1-1-0 (introduit dans Windows 8)

Voir aussi

GetUpdateRect

GetUpdateRgn

InvalidateRect

InvalidateRgn

Fonctions de peinture et de dessin

Vue d’ensemble de la peinture et du dessin

RECT

UpdateWindow