【简介】
最近在网上看到一些关于在文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的方法
-------------------------------------------------------------------------------------------------------------------------------
最近在网上看到一些关于在文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的方法,现总结如下:
GET App
......AfxGetInstanceHandle()
......AfxGetApp()
GET Frame->View->Document
......SDI AfxGetMainWnd() -> GetActiveView() -> GetDocument()
......MDI AfxGetMainWnd() -> MDIGetActive() -> GetActiveView() -> GetDocument()
GET Menu
......CMenu *pMenu=AfxGetApp()->m_pMainWnd->GetMenu();
GET ToolBar,StatusBar
......(CMainFrame *)GetParent()->m_wndToolBar;
......(CMainFrame *)GetParent()->m_wndStatusBar;
......CStatusBar * pStatusBa=(CStatusBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_STATUS_BAR);
......CToolBar * pToolBar=(CtoolBar *)AfxGetMainWnd()->GetDescendantWindow(AFX_IDW_TOOLBAR);
Get View from Document
......GetFirstViewPosition 和 GetNextView 函数得到指针。
最后提醒:
......在提取到各个句柄之后,因为初次提取的都是标准类句柄,所以,在使用时要注意将标准句柄转换成自己的类的句柄。
......((CMyApp*)AfxGetApp())->XXXX();//这的xxxx()就是你定义的类中间的成员。