Partager via


Fonction SetWindowRgn (winuser.h)

La fonction SetWindowRgn définit la région de fenêtre d’une fenêtre. La région de la fenêtre détermine la zone dans la fenêtre où le système autorise le dessin. Le système n’affiche aucune partie d’une fenêtre située en dehors de la région de la fenêtre

Syntaxe

int SetWindowRgn(
  [in] HWND hWnd,
  [in] HRGN hRgn,
  [in] BOOL bRedraw
);

Paramètres

[in] hWnd

Handle de la fenêtre dont la région de fenêtre doit être définie.

[in] hRgn

Handle vers une région. La fonction définit la région de fenêtre de la fenêtre sur cette région.

Si hRgn a la valeur NULL, la fonction définit la zone de fenêtre sur NULL.

[in] bRedraw

Spécifie si le système redessine la fenêtre après avoir défini la région de la fenêtre. Si bRedraw a la valeur TRUE, le système le fait ; sinon, ce n’est pas le cas.

En règle générale, vous définissez bRedraw sur TRUE si la fenêtre est visible.

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 cette fonction est appelée, le système envoie le WM_WINDOWPOSCHANGING et WM_WINDOWPOSCHANGED messages à la fenêtre.

Les coordonnées de la région de fenêtre d’une fenêtre sont relatives au coin supérieur gauche de la fenêtre, et non à la zone cliente de la fenêtre.

Note Si la disposition de la fenêtre est de droite à gauche (RTL), les coordonnées sont relatives au coin supérieur droit de la fenêtre. Consultez Disposition et mise en miroir des fenêtres.
 
Après un appel réussi à SetWindowRgn, le système possède la région spécifiée par le handle de région hRgn. Le système ne fait pas de copie de la région. Par conséquent, vous ne devez pas effectuer d’autres appels de fonction avec ce handle de région. En particulier, ne supprimez pas ce handle de région. Le système supprime le handle de région lorsqu’il n’est plus nécessaire.

Pour obtenir la région de fenêtre d’une fenêtre, appelez la fonction GetWindowRgn .

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

GetWindowRgn

Fonctions de peinture et de dessin

Vue d’ensemble de la peinture et du dessin

WM_WINDOWPOSCHANGING

WM_WINDOWPOSCHANGED