GetWindowRgn 関数 (winuser.h)
GetWindowRgn 関数は、ウィンドウのウィンドウ領域のコピーを取得します。 ウィンドウのウィンドウ領域は、 SetWindowRgn 関数を呼び出すことによって設定されます。 ウィンドウ領域は、システムが描画を許可するウィンドウ内の領域を決定します。 システムでは、ウィンドウ領域の外側にあるウィンドウの一部は表示されません
構文
int GetWindowRgn(
[in] HWND hWnd,
[in] HRGN hRgn
);
パラメーター
[in] hWnd
ウィンドウ領域を取得するウィンドウを処理します。
[in] hRgn
ウィンドウ領域を表すために変更される領域へのハンドル。
戻り値
戻り値は、関数が取得する領域の型を指定します。 次のいずれかの値を指定できます。
リターン コード | 説明 |
---|---|
|
リージョンが空です。 |
|
領域は 1 つの四角形です。 |
|
領域は複数の四角形です。 |
|
指定したウィンドウにリージョンが存在しないか、リージョンを返そうとしたときにエラーが発生しました。 |
解説
ウィンドウのウィンドウ領域の座標は、ウィンドウのクライアント領域ではなく、ウィンドウの左上隅を基準とします。
ウィンドウのウィンドウ領域を設定するには、 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 で導入) |