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