在CMainFrame类中调用成员变量m_wndSplitter的GetPane()方法,得到需要的视图的指针并做强制类型转换即可。
或者先调用CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();得到CMainFrame的指针,再做相同的操作。
即:
CLeftView * pView = (CLeftView *)m_wndSplitter.GetPane(0,0);
pView->GetTreeCtrl();
或:
CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();
* pView1 = (CView1*) pMainFrame->m_wndSplitter.GetPane(0,0);
CView1
CView2
如果在创建树形结构的时候没有进行视图分割,仍然可以进行相应的操作:
CLeftView * pWnd = (CLeftView *)MDIGetActive()->GetActiveView();
pWnd->GetTreeCtrl();
得到父窗口的句柄
GetParent();
分割后窗口间的通信:
CMDIChildWnd * pChild=(CMDIChildWnd*)((CFrameWnd*)AfxGetApp()-> m_pMainWnd)-> GetActiveFrame();