setWindowRgn 函数 (winuser.h)

SetWindowRgn 函数设置窗口的窗口区域。 窗口区域确定窗口中系统允许绘制的区域。 系统不显示窗口区域外部的窗口的任何部分

语法

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

参数

[in] hWnd

要设置其窗口区域的窗口的句柄。

[in] hRgn

区域的句柄。 函数将窗口的窗口区域设置为此区域。

如果 hRgnNULL,则该函数将窗口区域设置为 NULL

[in] bRedraw

指定系统是否在设置窗口区域后重绘窗口。 如果 bRedrawTRUE,则系统会这样做;否则,它不会。

通常,如果窗口可见,请将 bRedraw 设置为 TRUE

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。

注解

调用此函数时,系统会将 WM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGED 消息发送到窗口。

窗口的窗口区域坐标相对于窗口的左上角,而不是窗口的工作区。

注意 如果窗口布局从右到左 (RTL) ,则坐标相对于窗口的右上角。 请参阅 窗口布局和镜像
 
成功调用 SetWindowRgn 后,系统将拥有区域句柄 hRgn 指定的区域。 系统不创建区域的副本。 因此,不应使用此区域句柄进一步调用函数。 具体而言,请勿删除此区域句柄。 当不再需要区域句柄时,系统会将其删除。

若要获取窗口的窗口区域,请调用 GetWindowRgn 函数。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-draw-l1-1-0 (

另请参阅

GetWindowRgn

绘制和绘制函数

绘画和绘图概述

WM_WINDOWPOSCHANGING

WM_WINDOWPOSCHANGED