GetWindowRgn

GetWindowRgn是Window api里的方法,只有被包含在這個區域內的地方才會被重繪,而不包含在區域內的其他區域系統將不會顯示。

基本介紹

  • 中文名:GetWindowRgn
  • 說明: the SetWindowRgn function.
  • 返回值:The region is empty.
  • 參數:hWnd
  • 定義:HWND hWnd, HRGN hRgn);
簡介,定義,參數,返回值,說明,系統要求,

簡介

GetWindowRgn 函式
The GetWindowRgn function obtains a copy of the window region of a window. The window region of a window is set by calling the SetWindowRgn function. The window region determines the area within the window where the system permits drawing. The system does not display any portion of a window that lies outside of the window region
GetWindowRgn獲取視窗的區域,只有被包含在這個區域內的地方才會被重繪,而不包含在區域內的其他區域系統將不會顯示.

定義

int GetWindowRgn(HWND hWnd, HRGN hRgn);

參數

hWnd
Handle to the window whose window region is to be obtained.
hRgn
Handle to the region which will be modified to represent the window region.

返回值

The return value specifies the type of the region that the function obtains. It can be one of the following values.
NULLREGION - The region is empty.
SIMPLEREGION - The region is a single rectangle.
COMPLEXREGION - The region is more than one rectangle.
ERROR - The specified window does not have a region, or an error occurred while attempting to return the region.

說明

The coordinates of a window's window region are relative to the upper-left corner of the window, not the client area of the window.
To set the window region of a window, call the SetWindowRgn function.
例:
void  OnPaint(){            CDialog::OnPaint();     CWindowDC dc(this);        HRGN hr = CreateRectRgn(0, 0, 0, 0);    //必須要先創建一個HRGN, 否則GetWindowRgn會失敗    GetWindowRgn(hr);    CRgn *mpRgnTemp = CRgn::FromHandle(hr);    //繪製視窗框線    CBrush br;    br.CreateSolidBrush(0x979798);    dc.FrameRgn(mpRgnTemp, &br, 1, 1);    br.DeleteObject();}

系統要求

Windows NT/2000/XP: Included in Windows NT 3.51 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.

相關詞條

熱門詞條

聯絡我們