winuser.h


SetWindowRgn

La función SetWindowRgn signa la región de una ventana. La región de ventana determina el área dentro de una ventana en la que el sistema operativo permite dibujar. El sistema operativo no mostrará ninguna parte de la ventana que quede fuera de dicha región.

Sintaxis

int SetWindowRgn(
    HWND hWnd,    // manipulador de ventana cuya región de ventana se asigna
    HRGN hRgn,    // manipulador de región
    BOOL bRedraw  // bandera de retrazado de ventana
   );

Parámetros:

hWnd: manipulador de ventana cuya región de ventana se asigna.

hRgn: manipulador de región. La función asigna la región de ventana a esta región. Si hRgn es NULL, la función asigna la región de ventana a NULL.

bRedraw: valor booleano que especifica si el sistema operativo retraza la ventana después de asignar la región de ventana. Si bRedraw es TRUE, el sistema operativo lo hace; en otro caso, no.

Normalmente, el valor de bRedraw será TRUE si la ventana es visible.

Valor de retorno

Si la función tiene éxito, el valor de retorno es distinto de cero.

Si la función falla, el valor de retorno es cero.

Observaciones

Si el parámetro bRedraw es TRUE, el sistema envía los mensajes WM_WINDOWPOSCHANGING y WM_WINDOWPOSCHANGED a la ventana.

Las coordenadas de una región de ventana para una ventana son relativas a la esquina superior izquierda de la ventana.

Después de una llamada con éxito a SetWindowRgn, el sistema operativo posee la región especificada por el manipulador hRgn. El sistema operativo no hace una copia de la región. Así que, no se debe realizar ninguna llamada a otras funciones con este manipulador de región. En particular, no se debe cerrar este manipulador de región.

Para obtener la región de ventana de una ventana, llamar a la función GetWindowRgn.