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)
程式庫 User32.lib
Dll User32.dll
API 集合 ext-ms-win-ntuser-draw-l1-1-0 (在 Windows 8) 中引進

另請參閱

GetWindowRgn

繪製和繪圖函式

繪製和繪圖概觀

WM_WINDOWPOSCHANGING

WM_WINDOWPOSCHANGED