<Return[B]><Top>

BeginPaint

Declare Function Api_BeginPaint& Lib "user32" Alias "BeginPaint" (ByVal hWnd&, lpPaint As PAINTSTRUCT)

Declare Function BeginPaint Lib "user32" (ByVal hwnd As Long, lpPaint As PAINTSTRUCT) As Long

指定されたウィンドウに対して描画の準備をする。PAINTSTRUCT 構造体には、ペイント処理に関する情報が設定される。

パラメータ
hwnd
    再描画するウィンドウのハンドルを識別する。
lpPaint
    描画情報を受け取る PAINTSTRUCT 構造体へのポインタである。

戻り値
    関数が成功すると、ウィンドウペイント時に使用するデバイスコンテキストのハンドルが返る。
    関数が失敗すると、NULL が返る (デバイスコンテキストが利用不可であることを示す)。

解説
    BeginPaint 関数は、更新領域以外のすべての領域を削除するために、デバイスコンテキストのクリッピングリージョンを自動的に設定す

    る。更新リージョンは、クライアントエリアに影響を与えるサイズの変更、移動、作成、スクロールなどの操作の終了後、InvalidateRect

    関数(または InvalidateRgn 関数)とシステムにより設定される。
    更新領域が消去されるようにフラグが設定されていれば、BeginPaint 関数は WM_ERASEBKGND メッセージをウィンドウに送る。
    アプリケーションがこの関数を呼び出せるのは、WM_PAINT メッセージに応答するときだけである。
    BeginPaint 関数を呼び出したときには、必ず対応する EndPaint 関数を呼び出さなければならない。
    描画される範囲内にキャレットがある場合、そのキャレットが消去されないように、BeginPaint 関数が自動的に非表示にする。
    ウィンドウのクラスが背景色のブラシを持っている場合には、BeginPaint 関数は制御が戻る前に、そのブラシを使って更新リージョンの背景

    を消去する。