勇芳软件工作室.汉化:  Painting and Drawing > Painting and Drawing Functions >

GetWindowRgn

Previous pageReturn to chapter overviewNext page

描述

 

GetWindowRgn函数获取窗口的窗口区域的副本。通过调用SetWindowRgn功能设置窗口的窗口区域。窗口区域确定系统允许绘制的窗口内的区域。系统不显示位于窗口区域之外的窗口的任何部分

 

C++ 语法

 

int GetWindowRgn(

__in HWND hWnd,

__in HRGN hRgn

);

 

PowerBASIC 语法

 

FUNCTION GetWindowRgn ( _

BYVAL hWnd AS DWORD, _

BYVAL hRgn AS DWORD _

) AS LONG

 

参数

 

hWnd

 

[in]处理要获取窗口区域的窗口。

 

hRgn

 

[in]处理将被修改以表示窗口区域的区域。

 

返回值

 

返回值指定函数获取的区域的类型。它可以是以下值之一。

 

含义

NULLREGION

该地区是空的。

SIMPLEREGION

该区域是单个矩形。

COMPLEXREGION

该区域是多个矩形。

ERROR

指定的窗口没有区域,或尝试返回区域时发生错误。

 

引用文件 #INCLUDE Once

 

WinUser.inc(包括Windows.inc)

 

备注

 

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

 

要设置窗口的窗口区域,请调用SetWindowRgn功能。

 

以下代码显示了如何传递现有区域的句柄。

 

C++

 

HRGN hrgn = CreateRectRgn(0,0,0,0);

int regionType = GetWindowRgn(hwnd, hrgn);

if (regionType != ERROR)

{

/* hrgn contains window region */

}

DeleteObject(hrgn); /* finished with region */

 

PowerBASIC

 

DIM hrgn AS DWORD

hrgn = CreateRectRgn(0,0,0,0)

DIM regionType AS LONG

regionType = GetWindowRgn(hwnd, hrgn)

IF regionType <> %GDI_ERROR THEN

' /* hrgn contains window region */

DeleteObject(hrgn) ' /* finished with region */