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 |
---|---|
|
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. |
|
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é. |
|
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. |
|
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 |
---|---|
|
Supprime tous les messages WM_ERASEBKGND en attente. |
|
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. |
|
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 . |
|
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 |
---|---|
|
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. |
|
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 |
---|---|
|
Inclut les fenêtres enfants, le cas échéant, dans l’opération de repeint. |
|
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
Fonctions de peinture et de dessin