ウィンドウ内の指定された長方形、またはリージョンを再描画します。
定義
Declare Function RedrawWindow Lib "user32" _
(hWnd As HWND, _
ByRef lprcUpdate As RECT, _
hrgnUpdate As HRGN, _
flags As DWord) As Long
hWnd
ウィンドウ ハンドルを指定します。
lprcUpdate (ポインタ参照)
更新領域の長方形の座標が格納されている、RECT構造体へのポインタを指定します。hrgnUpdate パラメータが NULL でないときは、このパラメータは無視されます。
hrgnUpdate
更新領域を示すリージョンのハンドルを指定します。lprcUpdate パラメータとhrgnUpdate パラメータを NULL にすると、クライアント領域全体が再描画されます。
flags
再描画の方法に関するオプションを、以下の定数を組み合わせて指定します。
※無効化する場合
定数 | 説明 |
RDW_ERASE | ウィンドウの再描画時に、WM_ERASEBKGND メッセージを送ります。RDW_INVALIDATE フラグと同時に指定する必要があります。 |
RDW_FRAME | 更新領域と交差する非クライアント領域の部分にも、WM_NCPAINT メッセージを送ります。RDW_INVALIDATE フラグと同時に指定する必要があります。 |
RDW_INTERNALPAINT | ウィンドウが無効な領域を持つか持たないかに関わらず、WM_PAINT メッセージをウィンドウにポストします。 |
RDW_INVALIDATE | 指定したウィンドウ内の領域を無効化します。 |
※有効化する場合
定数 | 説明 |
RDW_NOERASE | 未処理の WM_ERASEBKGND メッセージを送らないようにします。 |
RDW_NOFRAME | 未処理の WM_NCPAINT メッセージを送らないようにします。RDW_VALIDATE フラグと同時に指定する必要があります。 |
RDW_NOINTERNALPAINT | 未処理の内部 WM_PAINT メッセージを送らないようにします。 |
RDW_VALIDATE | 指定したウィンドウ内の領域を有効化します。 |
※再描画時の動作
定数 | 説明 |
RDW_ERASENOW | 必要であれば、関数が制御を返す前に、影響を受けたウィンドウ(RDW_ALLCHILDREN または RDW_NOCHILDREN のフラグで指定されているウィンドウ)に WM_NCPAINTメッセージおよび WM_ERASEBKGND メッセージを送ります。WM_PAINT メッセージは通常のタイミングで送られます。 |
RDW_UPDATENOW | 必要であれば、関数が制御を返す前に、影響を受けたウィンドウ(RDW_ALLCHILDREN フラグまたは RDW_NOCHILDREN フラグで指定されているウィンドウ)に WM_NCPAINT、WM_ERASEBKGND、WM_PAINT の各メッセージを送ります。 |
RDW_ALLCHILDREN | 子ウィンドウがあるときは、それらも再描画の対象とします。 |
RDW_NOCHILDREN | 子ウィンドウがあるときは、それらを再描画の対象から外します。 |
戻り値
関数が成功すると、TRUE が返ります。失敗すると、FALSE が返ります。
解説
ウィンドウ リージョンの外側は描画されません。
ウィンドウ リージョンの座標は、ウィンドウの左上隅を原点とします。
環境情報
インクルード ファイル: api_window.sbp 内で定義済み
DLLファイル: user32.dll
InvalidateRect関数、InvalidateRgn関数、RECT構造体