視圖類 文檔類 框架類 應用程序類之間指針的互相獲取

獲得框架類的指針,兩種方法: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();
發佈了18 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章