CFrameWnd::GetActiveView
更新 : 2007 年 11 月
フレーム ウィンドウ (CFrameWnd) に結び付けられているアクティブなビューがある場合は、このビューへのポインタが返されます。
CView* GetActiveView( ) const;
戻り値
現在の CView へのポインタを返します。現在アクティブなビューがない場合は、NULL を返します。
解説
この関数を MDI メイン フレーム ウィンドウ (CMDIFrameWnd) から呼び出すと、NULL を返します。MDI アプリケーションでは、アクティブなビューが MDI メイン フレーム ウィンドウに対応付けられないからです。代わりに、子ウィンドウ (CMDIChildWnd) ごとにビューが対応付けられます。MDI アプリケーションのアクティブなビューを取得するには、アクティブな MDI 子ウィンドウを見つけてから、このウィンドウのアクティブなビューを探します。アクティブな MDI 子ウィンドウを見つけるには、次のように MDIGetActive または GetActiveFrame 関数を呼び出します。
CMDIFrameWnd *pFrame = (CMDIFrameWnd*)AfxGetApp()->GetMainWnd();
// Get the active MDI child window.
CMDIChildWnd *pChild = (CMDIChildWnd*)pFrame->GetActiveFrame();
// or CMDIChildWnd *pChild = pFrame->MDIGetActive();
// Get the active view attached to the active MDI child window.
CMyView *pView = (CMyView*)pChild->GetActiveView();
必要条件
ヘッダー : afxwin.h