BeginPaint

https://msdn.microsoft.com/ja-jp/library/ms534910.aspx

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

HDC BeginPaint(
    HWND  hwnd,             //  ウィンドウのハンドル
    LPPAINTSTRUCT  lpPaint  //  描画情報を持つ構造体へのポインタ
);

パラメータ

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

戻り値

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

解説

BeginPaint 関数は、更新領域以外のすべての領域を削除するために、デバイスコンテキストのクリッピングリージョンを自動的に設定します。
更新リージョンは、クライアントエリアに影響を与えるサイズの変更、移動、作成、スクロールなどの操作の終了後、InvalidateRect 関数 (または InvalidateRgn 関数) とシステムにより設定されます。
更新領域が消去されるようにフラグが設定されていれば、BeginPaint 関数は WM_ERASEBKGND メッセージをウィンドウに送ります。
アプリケーションがこの関数を呼び出せるのは、WM_PAINT メッセージに応答するときだけです。
BeginPaint 関数を呼び出したときには、必ず対応する EndPaint 関数を呼び出さなければなりません。
描画される範囲内にキャレットがある場合、そのキャレットが消去されないように、BeginPaint 関数が自動的に非表示にします、
ウィンドウのクラスが背景色のブラシを持っている場合には、BeginPaint 関数は制御が戻る前に、そのブラシを使って更新リージョンの背景を消去します。

対応情報

  Windows NT: バージョン 3.1 以降
  Windows: Windows 95 以降
  Windows CE: バージョン 1.0 以降
  ヘッダ : winuser.h 内で宣言
  インポート ライブラリ : user32.lib を使用

参照

EndPaint, InvalidateRect, InvalidateRgn, , ValidateRect, ValidateRgn

表示: