这个函数我主要用在我的工程中,我要做一个树型控件与当前页面相关联,即点击鼠标左键时,打开相应标签页,用下面的方法可以完美解决,后来又想到了另一个方法,就是将标签页的句柄与HTREEITEM放在map中,统一管理起来,然后通过map.find查找,这样效率更高一些,不过原来的方法还是记录下来比较好:
void CMainFrame::OnGetsub()
{
// TODO: 在此添加命令处理程序代码
CWinApp *pApp = AfxGetApp();
POSITION PosDocTemplate = pApp->GetFirstDocTemplatePosition();
if (PosDocTemplate)
{
CDocTemplate* pDocTemplate = pApp->GetNextDocTemplate( PosDocTemplate );
{
// TODO: 在此添加命令处理程序代码
CWinApp *pApp = AfxGetApp();
POSITION PosDocTemplate = pApp->GetFirstDocTemplatePosition();
if (PosDocTemplate)
{
CDocTemplate* pDocTemplate = pApp->GetNextDocTemplate( PosDocTemplate );
POSITION PosDoc = pDocTemplate->GetFirstDocPosition();
while(PosDoc)
{
CDocument* pDoc = pDocTemplate->GetNextDoc( PosDoc );
while(PosDoc)
{
CDocument* pDoc = pDocTemplate->GetNextDoc( PosDoc );
CString csTitle = pDoc->GetTitle();
POSITION PosView = pDoc->GetFirstViewPosition();
CView *pView = (CView *)pDoc->GetNextView(PosView);
CMDIChildWnd *pFram = (CMDIChildWnd *)pView->GetParentFrame();
pFram->MDIActivate();
}
}
}
POSITION PosView = pDoc->GetFirstViewPosition();
CView *pView = (CView *)pDoc->GetNextView(PosView);
CMDIChildWnd *pFram = (CMDIChildWnd *)pView->GetParentFrame();
pFram->MDIActivate();
}
}
}