CWnd::InvalidateRgn

指定された領域を現在の CWnd の更新領域に追加して、その領域内のクライアント領域を無効にします。

void InvalidateRgn(
   CRgn* pRgn,
   BOOL bErase = TRUE 
);

パラメーター

  • pRgn
    更新領域に追加する領域を識別する CRgn オブジェクトへのポインター。領域にはクライアント座標があると仮定されます。このパラメーターが NULL の場合は、クライアント領域全体が更新領域に追加されます。

  • bErase
    更新領域の背景を消去するかどうかを指定します。

解説

無効となった領域は、更新領域内のその他の領域と共に、次に WM_PAINT メッセージが送られるまで描画のためにマークされます。無効となった領域は、その領域が次の WM_PAINT メッセージの発生で処理されるか、ValidateRect または ValidateRgn メンバー関数を使って有効になるまで累積されます。

パラメーター bErase は、更新領域が処理されるときに更新領域の背景を消去するかどうかを指定します。bErase が TRUE の場合は、BeginPaint メンバー関数が呼び出されると背景は消去されます。bErase が FALSE の場合、背景は変更されずに残されます。更新領域のあらゆる部分に対して bErase が TRUE の場合は、指定した部分だけでなく領域全体の背景が消去されます。

CWnd の更新領域が空ではなく、そのウィンドウに対するアプリケーション キューにその他のメッセージが存在しない場合は、Windows は WM_PAINT メッセージを送ります。

指定する領域は、先に領域関数で作っておく必要があります。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CWnd クラス

階層図

CWnd::BeginPaint

CWnd::ValidateRect

CWnd::ValidateRgn

InvalidateRgn

CWnd::Invalidate

CWnd::InvalidateRect