ValidateRect

機能
無効領域から指定の矩形範囲を有効化する
Declare Function ValidateRect Lib "user32.dll" _
(ByVal hWnd As Long, lpRect As RECT) As Long
Declare Function ValidateRect Lib "user32.dll" _
(ByVal hWnd As Integer, lpRect As RECT) As Integer

BOOL ValidateRect(
HWND hWnd,
CONST RECT *lpRect
);
引数
hWnd

操作対象のウィンドウのハンドル
0のとき、Windowsは全てのウィンドウにWM_ERASEBKGNDWM_NCPAINTを送って再描画する
lpRect
有効化する範囲を指定するRECT構造体
ByVal lpRect As Longと宣言して0を設定すると、クライアント領域全体を有効化する
戻り値
正常終了のとき                      0以外
エラーのとき                        0
備考
Windowsは無効領域を持っているウィンドウに対してWM_PAINTを発行し、再描画をうながす。
頻繁に再描画したくない場合は、無効領域を有効化することで、一時的に再描画を抑制することができる。
実際の手順はGetUpdateRect()関数を使って無効領域を取得し、その領域に対してこの関数を実行する。