RedrawWindow

機能
指定の条件でクライアント領域内の指定の範囲を再描画する
Declare Function RedrawWindow Lib "user32.dll" _
(ByVal hWnd As Long, lpreUpdat As RECT, _
ByVal hrgnUpdate As Long, ByVal flags As Long) As Long
Declare Function RedrawWindow Lib "user32.dll" _
(ByVal hWnd As Integer, lpreUpdat As RECT, _
ByVal hrgnUpdate As Integer, ByVal flags As Integer) As Integer

BOOL RedrawWindow(
HWND hWnd,
CONST RECT *lprcUpdate,
HRGN hrgnUpdate,
UINT flags
);
引数
hWnd

再描画するウィンドウのハンドル
0のときディスクトップウィンドウが対象となる
lprcUpdate
再描画する範囲を指定するRECT構造体
hrgnUpdateに領域のハンドルを指定したとき、このパラメータは無視される
hrgnUpdate
更新領域のハンドル(0も可)
hrgnUpdateとlprcUpdateともに0のときクライアント領域全体が更新領域となる
flags
再描画の方法を指定する定数の組み合わせ
戻り値
正常終了のとき                      0以外
エラーのとき                        0
備考
ディスクトップウィンドウでこの関数を使用する場合はRDW_ERASEを使用する
flagsの定数

(ウィンドウを無効化するときに使用する定数)
RDW_ERASE = &H4                     再描画領域のバックグラウンドを消去
RDW_FRAME = &H400                   再描画領域内であればクライアント領域外も更新
RDW_INTERNALPAINT = &H2             WM_PAINTを発行する
RDW_INVALIDATE = &H1                再描画領域を無効化する

(ウィンドウを有効化するときに使用する定数)
RDW_NOERASE = &H20                  再描画領域のバックグラウンドは消去させない
RDW_NOFRAME = &H800                 非クライアント領域は再描画させない
                                     (RDW_VALIDATEも指定)
RDW_NOINTENALPAINT = &H10           待機中のWM_PAINTを実行
RDW_VALIDATE = &H8                  再描画領域を有効化する

(再描画時の動作方法を指定するフラッグ)
RDW_ERASENOW = &H200                再描画領域をすぐ消去
RDW_UPDATENOW = &H100               再描画領域をすぐ更新する