InvalidateRgn 関数 (winuser.h)
InvalidateRgn 関数は、ウィンドウの現在の更新領域に追加することで、指定されたリージョン内のクライアント領域を無効にします。 無効化されたリージョンと、更新リージョン内の他のすべての領域は、次の WM_PAINT メッセージが発生したときに塗りつぶし用にマークされます。
構文
BOOL InvalidateRgn(
[in] HWND hWnd,
[in] HRGN hRgn,
[in] BOOL bErase
);
パラメーター
[in] hWnd
変更する更新領域を含むウィンドウへのハンドル。
[in] hRgn
更新リージョンに追加するリージョンのハンドル。 リージョンは、クライアント座標を持つものと見なされます。 このパラメーターが NULL の場合、クライアント領域全体が更新リージョンに追加されます。
[in] bErase
更新リージョンの処理時に、更新リージョン内のバックグラウンドを消去するかどうかを指定します。 このパラメーターが TRUE の場合、 BeginPaint 関数が呼び出されると背景は消去されます。 パラメーターが FALSE の場合、背景は変更されません。
戻り値
戻り値は常に 0 以外です。
注釈
無効な領域は、次の WM_PAINT メッセージが処理されるまで、または ValidateRect 関数または ValidateRgn 関数を使用してリージョンが検証されるまで、更新リージョンに蓄積されます。
更新領域が空ではなく、そのウィンドウのアプリケーション キューに他 のメッセージが 存在しない場合は常に、システムからウィンドウにWM_PAINT メッセージが送信されます。
指定したリージョンは、いずれかのリージョン関数を使用して作成されている必要があります。
更新領域の任意の部分に対して bErase パラメーターが TRUE の 場合、指定した部分だけでなく、リージョン全体の背景が消去されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | 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-0 (Windows 8 で導入) |