获得框架类的指针,两种方法:CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
CMainFrame *pMainFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd;
应用程序类指针:TheApp是个外部变量,若要在其他类里使用应用程序类中的函数,在本类中生命外部变量,extern CSingalDocMutiViewApp theApp;,之后就可以用TheApp调用应用程序类成员变量和函数。
AfxGetApp()获得基类CWinApp,也可用这样的方法获得App中的成员函数和变量,((CSingalDocMutiViewApp *)AfxGetApp())->Test();
视图类指针:CSingalDocMutiViewView *pView = (CSingalDocMutiViewView *)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
GetActiveView是框架类的指针,因此,如果要在框架类外使用的话,需要先用(cMainFrame*)AfxGetMainWnd()获得框架类指针,随后再用这个指针使用GetActiveView();
文档类指针
在View类里,用GetDocment获得文档类指针,CSingalDocMutiViewDoc* pDoc = GetDocument();
在其他类中,可先获得View的指针,然后再调用GetDocument函数。
CSingalDocMutiViewView *pView = (CSingalDocMutiViewView *)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
CSingalDocMutiViewDoc *pDoc = pView->GetDocument();
获得当前文档指针 CDocument * pCurrentDoc =(CFrameWnd *)m_pMainWnd->GetActiveDocument();