次の方法で共有


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 を返します。

解説

CWndCS_OWNDC スタイルで作成され、マップ モードが MM_TEXT でない場合は、GetUpdateRect メンバ関数は四角形を論理座標で返します。それ以外の場合は、GetUpdateRect メンバ関数は四角形をクライアント座標で返します。更新領域が存在しない場合は、GetUpdateRect メンバ関数は空の四角形 (すべての座標が 0) を返します。

パラメータ bErase は、GetUpdateRect メンバ関数で更新領域の背景を消去するかどうかを指定します。bErase が TRUE で、更新領域が空でない場合、背景は消去されます。背景を消去するために、GetUpdateRectWM_ERASEBKGND メッセージを送ります。

BeginPaint メンバ関数で取得した更新領域の四角形と、GetUpdateRect メンバ関数で取得した四角形は同じものです。

BeginPaint メンバ関数は、自動的に更新領域を有効にします。このため、BeginPaint を呼び出した後すぐに呼び出された GetUpdateRect によって、空の更新領域が得られます。

必要条件

ヘッダー : afxwin.h

参照

参照

CWnd クラス

階層図

CWnd::BeginPaint

GetUpdateRect

CWnd::OnPaint

CWnd::RedrawWindow

その他の技術情報

CWnd のメンバ