次の方法で共有


CView::OnUpdate

ビューのドキュメントが変更された後に、フレームワークによって呼び出されます; この関数は CDocument::UpdateAllViews によって呼び出され、ビューが、これらの変更を反映して表示を更新できます。

virtual void OnUpdate(
   CView* pSender,
   LPARAM lHint,
   CObject* pHint 
);

パラメーター

  • pSender
    すべてのビューが更新された場合にドキュメントを変更したビューをポイントし、または null

  • lHint
    変更に関する情報を格納します。

  • pHint
    変更に関する情報を格納するオブジェクトへのポインター。

解説

また、OnInitialUpdateの既定の実装によって呼び出されます。既定の実装では WM_PAINT 次のメッセージがいつ表示されるかを描画することを示すクライアント領域全体を無効にします。ドキュメントの変更部分に割り当てるその領域のみ更新する場合は、この関数をオーバーライドします。これを行うにはツールヒント パラメーターを使用して変更に関する情報を渡す必要があります。

lHintを使用するには、特別なツールヒント、通常、値のビットマスクまたは列挙型を定義し、これらの値のドキュメントのパス 1 を設定します。pHintを使用し、ツールヒント クラスを CObject から派生し、ドキュメントをツールヒントのオブジェクトへのポインターを渡しますさせる; OnUpdateをオーバーライドする場合、ツールヒントのオブジェクトの実行時の型の決定に CObject::IsKindOf のメンバー関数を使用します。

通常 OnUpdate描画から直接実行しないでください。その代わり、デバイス座標で、更新を要求する領域を表す四角形を決定します; CWnd::InvalidateRectにこの四角形を渡します。WM_PAINT のメッセージを受信したときにこれにより、描画が発生します。

lHint が 0、pHint が null場合、ドキュメントは一般的な更新の通知を送信します。ビューは、一般的な更新の通知を受け取るか、ツールヒントをデコードできない場合は、クライアント領域全体を無効にする必要があります。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CView クラス

階層図

CDocument::UpdateAllViews

CView::OnInitialUpdate

CWnd::Invalidate

CWnd::InvalidateRect