InvalidateRect

https://msdn.microsoft.com/ja-jp/library/ms648055.aspx https://msdn.microsoft.com/ja-jp/library/ms534905.aspx https://msdn.microsoft.com/ja-jp/library/ms536136.aspx https://msdn.microsoft.com/ja-jp/library/cc428944.aspx https://msdn.microsoft.com/ja-jp/library/ms534901.aspx https://msdn.microsoft.com/ja-jp/library/ms536136.aspx https://msdn.microsoft.com/ja-jp/library/ms648055.aspx https://msdn.microsoft.com/ja-jp/library/ms534905.aspx https://msdn.microsoft.com/ja-jp/library/ms534901.aspx

指定されたウィンドウの更新リージョンに 1 個の長方形を追加します。更新リージョンとは、ウィンドウのクライアント領域のうち、再描画しなければならない部分のことです。

BOOL InvalidateRect(
  HWND hWnd,           // ウィンドウのハンドル
  CONST RECT *lpRect,  // 長方形の座標
  BOOL bErase          // 消去するかどうかの状態
);

パラメータ

hWnd
更新リージョンに変更を加えたいウィンドウのハンドルを指定します。NULL を指定すると、システムはすべてのウィンドウを無効化し、再描画し、さらにこの関数から制御が返る前に、 と の各メッセージをウィンドウプロシージャへ送信します。
lpRect
更新リージョンへ追加したい長方形のクライアント座標を保持する 1 個の 構造体へのポインタを指定します。NULL を指定すると、クライアント領域全体を更新リージョンへ追加します。
bErase
更新リージョンを処理するときに、更新リージョン内の背景を消去するかどうかを指定します。TRUE を指定すると、BeginPaint 関数を呼び出したときに背景が消去されます。FALSE を指定すると、背景はそのまま残ります。

戻り値

関数が成功すると、0 以外の値が返ります。

関数が失敗すると、0 が返ります。

Windows NT/2000:拡張エラー情報を取得するには、 関数を使います。

解説

無効領域は、次の メッセージが発生してリージョンが処理されるまで、または、ValidateRect 関数や ValidateRgn 関数を呼び出してリージョンを有効にするまでは、更新リージョン内に累積されます。

ウィンドウが空ではない更新リージョンを備えていて、そのウィンドウのアプリケーションキューに他のメッセージが存在しない場合、システムはそのウィンドウへ WM_PAINT メッセージを送信します。

更新リージョンのいずれかの部分で bErase パラメータが TRUE に設定されている場合、指定された部分だけではなく、リージョン全体の背景が消去されます。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winuser.h 内で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用

参照

BeginPaint, InvalidateRgn, , ValidateRect, ValidateRgn, , ,

表示: