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