多文档获取常用窗口的指针方式

利用MFC进行多文档程序开发的时候,灵活运行系统提供的获取指针方法快速定位到某一个窗体,我个人觉得蛮重要的。
1, GetParent (HWND HWND);获取当前窗口是个子窗口,获取是父窗口的指针,如果是弹出的模态窗口(顶层窗口),获取的是没有WS_CHILD属性的间接父窗口。
MSDN中的解释如下:
如果窗口是子窗口,返回值是一个父窗口的句柄。如果窗口是一个顶级窗口,返回值是一个所有者窗口的句柄。如果窗口是一个顶级无主窗口或如果函数失败,返回值是NULL
2,获取应用程序的指针
AfxGetApp ();
3,获取主框架的指针
AfxGetMainWnd ();
((CMainFrame *) AfxGetApp ())→m_pMainWnd;
4,获取菜单的指针
AfxGetMainWnd ()→GetMenu ();
5,获取工具栏,状态栏的指针
1)主窗口的相应变量
m_wndStatusBar
m_wndToolBar
m_wndRibbonBar//ribbonBar工具栏
2)函数获取
AfxGetMainWnd ()→GetDescendantWindow (AFX_IDW_STATUS_BAR);
AfxGetMainWnd ()→GetDescendantWindow (AFX_IDW_TOOLBAR);
6,文档,指图指针
AfxGetMainWnd ()→GetActiveFrame ();
AfxGetMainWnd ()→GetActiveView ();//如果是多文档,首先获取子框架指针,AfxGetMainWnd ()→GetActiveFrame ()→GetActiveView ();
AfxGetMainWnd ()→GetActiveDocument ();
7日获取子控件的指针
GetDlgItem (AFX_IDW_PANE_FIRST)//多文档在主框架中获取的是主框架建立的一个伪视图(通过CreateWindow创建的),子框架中获取的才是真正的视图

多文档获取常用窗口的指针方式