CWnd::GetUpdateRect
更新 : 2007 年 11 月
更新領域を完全に囲む最小四角形の座標を取得します。
BOOL GetUpdateRect(
LPRECT lpRect,
BOOL bErase = FALSE
);
パラメータ
lpRect
更新領域を囲むクライアント座標を受け取る CRect オブジェクトまたは RECT 構造体へのポインタ。CWnd 内に更新領域が存在するかどうかを調べるには、このパラメータに NULL を設定します。lpRect が NULL のとき、GetUpdateRect メンバ関数は、更新領域が存在する場合は 0 以外の値を、存在しない場合は 0 を返します。これによって、無効領域から WM_PAINT メッセージを受け取ったかどうかを調べることができます。Windows 3.0 以前のバージョンでは、このパラメータに NULL を設定しないでください。
bErase
更新領域の背景を消去するかどうかを指定します。
戻り値
更新領域の状態を返します。更新領域が空でない場合は 0 以外の値を返します。空の場合は 0 を返します。
lpRect パラメータが NULL で、更新領域が存在する場合は 0 以外の値を返します。それ以外は 0 を返します。
解説
CWnd が CS_OWNDC スタイルで作成され、マップ モードが MM_TEXT でない場合は、GetUpdateRect メンバ関数は四角形を論理座標で返します。それ以外の場合は、GetUpdateRect メンバ関数は四角形をクライアント座標で返します。更新領域が存在しない場合は、GetUpdateRect メンバ関数は空の四角形 (すべての座標が 0) を返します。
パラメータ bErase は、GetUpdateRect メンバ関数で更新領域の背景を消去するかどうかを指定します。bErase が TRUE で、更新領域が空でない場合、背景は消去されます。背景を消去するために、GetUpdateRect は WM_ERASEBKGND メッセージを送ります。
BeginPaint メンバ関数で取得した更新領域の四角形と、GetUpdateRect メンバ関数で取得した四角形は同じものです。
BeginPaint メンバ関数は、自動的に更新領域を有効にします。このため、BeginPaint を呼び出した後すぐに呼び出された GetUpdateRect によって、空の更新領域が得られます。
必要条件
ヘッダー : afxwin.h