在文档视图结构中,想要在文档打开/创建(OpenDocumentFile)的时候获取该文档的视图指针,应该怎样做?

解决方案 »

  1.   

    CView* pView = AfxGetMainWnd()->GetActiveView();
      

  2.   

    orCView* pView = AfxGetMainWnd()->GetActiveFrame()->GetActiveView();
      

  3.   

    1) 在View中获得Doc指针 CYouSDIDoc *pDoc=GetDocument();一个视只能有一个文档。2) 在App中获得MainFrame指针
    CWinApp 中的 m_pMainWnd变量就是MainFrame的指针
    也可以: CMainFrame *pMain =(CMainFrame *)AfxGetMainWnd();3) 在View中获得MainFrame指针 CMainFrame *pMain=(CmaimFrame *)AfxGetApp()->m_pMainWnd;4) 获得View(已建立)指针 CMainFrame *pMain=(CmaimFrame *)AfxGetApp()->m_pMainWnd;CyouView *pView=(CyouView *)pMain->GetActiveView();5) 获得当前文档指针 CDocument * pCurrentDoc =(CFrameWnd *)m_pMainWnd->GetActiveDocument();6) 获得状态栏与工具栏指针 CStatusBar * pStatusBar=(CStatusBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_STATUS_BAR);CToolBar * pToolBar=(CtoolBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);7) 如果框架中加入工具栏和状态栏变量还可以这样 (CMainFrame *)GetParent()->m_wndToolBar;(CMainFrame *)GetParent()->m_wndStatusBar;8) 在Mainframe获得菜单指针 CMenu *pMenu=m_pMainWnd->GetMenu();9) 在任何类中获得应用程序类
    用MFC全局函数AfxGetApp()获得。