GetWindowRgn 関数 (winuser.h)

GetWindowRgn 関数は、ウィンドウのウィンドウ領域のコピーを取得します。 ウィンドウのウィンドウ領域は、 SetWindowRgn 関数を呼び出すことによって設定されます。 ウィンドウ領域は、システムが描画を許可するウィンドウ内の領域を決定します。 システムでは、ウィンドウ領域の外側にあるウィンドウの一部は表示されません

構文

int GetWindowRgn(
  [in] HWND hWnd,
  [in] HRGN hRgn
);

パラメーター

[in] hWnd

ウィンドウ領域を取得するウィンドウを処理します。

[in] hRgn

ウィンドウ領域を表すために変更される領域へのハンドル。

戻り値

戻り値は、関数が取得する領域の型を指定します。 次のいずれかの値を指定できます。

リターン コード 説明
NULLREGION
リージョンが空です。
SIMPLEREGION
領域は 1 つの四角形です。
COMPLEXREGION
領域は複数の四角形です。
ERROR
指定したウィンドウにリージョンが存在しないか、リージョンを返そうとしたときにエラーが発生しました。

解説

ウィンドウのウィンドウ領域の座標は、ウィンドウのクライアント領域ではなく、ウィンドウの左上隅を基準とします。

ウィンドウのウィンドウ領域を設定するには、 SetWindowRgn 関数を呼び出します。

次のコードは、既存のリージョンのハンドルを渡す方法を示しています。


HRGN hrgn = CreateRectRgn(0,0,0,0);
int regionType = GetWindowRgn(hwnd, hrgn);
if (regionType != ERROR) 
{ 
/* hrgn contains window region */ 
}
DeleteObject(hrgn); /* finished with region */

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-draw-l1-1-2 (Windows 10 バージョン 10.0.10240 で導入)

関連項目

描画関数と描画関数

描画と描画の概要

SetWindowRgn