次の方法で共有


CView::OnActivateView

更新 : 2007 年 11 月

ビューがアクティブまたは非アクティブになるとき、フレームワークが呼び出します。

virtual void OnActivateView(
   BOOL bActivate,
   CView* pActivateView,
   CView* pDeactiveView 
);

パラメータ

  • bActivate
    ビューがアクティブにされているか、非アクティブにされているかを示します。

  • pActivateView
    アクティブにされているビュー オブジェクトへのポインタ。

  • pDeactiveView
    非アクティブになるビュー オブジェクトへのポインタを指定します。

解説

この関数の既定の実装は、アクティブになるビューにフォーカスを設定します。ビューがアクティブまたは非アクティブになるときに、特別な処理をする場合は、この関数をオーバーライドします。たとえば、アクティブ ビューと非アクティブ ビューを区別するための特別な目印を表示する場合は、パラメータ bActivate を調べてその値に応じてビューの表示を更新します。

アクティブ ビューで何の変更もせずに、アプリケーションのメイン フレーム ウィンドウがアクティブになると、パラメータ pActivateView とパラメータ pDeactiveView は同じビューを指します。たとえば、フォーカスがアプリケーション内のビュー間で転送されるのではなく、他のアプリケーションからこのアプリケーションへ転送されている場合、または MDI 子ウィンドウ間でフォーカスを切り替えたときです。このとき必要に応じて、ビューのパレットを再現できます。

CFrameWnd::GetActiveView が返したビュー以外で CFrameWnd::SetActiveView が呼び出されたときは、これらのパラメータは異なります。このケースは、分割ウィンドウで頻繁に起こります。

必要条件

ヘッダー : afxwin.h

参照

参照

CView クラス

階層図

CWnd::OnActivate

CFrameWnd::SetActiveView

CFrameWnd::GetActiveView

その他の技術情報

CView のメンバ