VC++中的Dlg,App,Doc,view
https://www.cnblogs.com/zhangpengshou/archive/2009/03/31/1425969.html
VC++中的Dlg,App,Doc,view
Dlg 是Dialog 的縮寫,對話框
App類就是這個SDI作為"程序"的入口有點像c的Main函數
View是指編輯區裏麵的事就是那塊白色的中間區域他負責繪製和鄉音一些消息
Doc就有點像數據庫,他保存著編輯數據,用於view的Redraw的時候用,還有保存文件。反正動態的編輯數據都放在Doc裏麵。
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()獲得。
最後更新:2017-04-02 06:51:21