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 で導入)

こちらもご覧ください

BeginPaint

InvalidateRect

描画関数と描画関数

描画と描画の概要

ValidateRect

ValidateRgn

Wm_paint