次の方法で共有


CView::OnActivateView

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

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 のメンバー