WM_ERASEBKGND

公開:2012-02-02 20:30
更新:2020-02-15 04:37
カテゴリ:windows api,windows,c++

WM_ERASEBKGNDメッセージの戻り値は0以外か0である。

0以外は自前で背景を描画する(した)ことを意味する。この値を返すとOSによる背景描画は行われない。0を返すとWM_ERASEBKGND時に背景描画を行わないことを意味する。この値もOSによる背景描画は行われないが、背景描画が必要であることをOSが記憶する。OSによる背景描画が行われる(WNDCLASSEXのhbrBackgroundのブラシを使って背景を描画する)のはWM_ERASEBKGNDをDefWindowProcした時だけである。

戻り値が0の時は再描画が必要なことを記憶しているが、それはWM_PAINTメッセージハンドル時に呼び出すBeginPaintの引数であるPAINTSTRUCTのfEraseメンバに反映される。TRUEであれば背景描画が必要である。