MFC使用MDI多文档遍历标签页
2013-07-17 15:27
225 查看
这个函数我主要用在我的工程中,我要做一个树型控件与当前页面相关联,即点击鼠标左键时,打开相应标签页,用下面的方法可以完美解决,后来又想到了另一个方法,就是将标签页的句柄与HTREEITEM放在map中,统一管理起来,然后通过map.find查找,这样效率更高一些,不过原来的方法还是记录下来比较好:
void CMainFrame::OnGetsub()
{
// 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 );
CString csTitle = pDoc->GetTitle();
POSITION PosView = pDoc->GetFirstViewPosition();
CView *pView = (CView *)pDoc->GetNextView(PosView);
CMDIChildWnd *pFram = (CMDIChildWnd *)pView->GetParentFrame();
pFram->MDIActivate();
}
}
}
void CMainFrame::OnGetsub()
{
// 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 );
CString csTitle = pDoc->GetTitle();
POSITION PosView = pDoc->GetFirstViewPosition();
CView *pView = (CView *)pDoc->GetNextView(PosView);
CMDIChildWnd *pFram = (CMDIChildWnd *)pView->GetParentFrame();
pFram->MDIActivate();
}
}
}
相关文章推荐
- MFC MDI 遍历打开的所有文档
- MFC MDI使用自定义模板对话框创建子文档
- MFC MDI中将已打开的文档所在标签页设置为当前标签页
- 【使用JSOUP实现网络爬虫】使用DOM方法来遍历一个文档
- MFC 的MDI创建空文档调用过程
- jstl 使用s标签遍历
- jsoup教程006-使用DOM方法来遍历一个文档
- 使用标签配合EL表达式遍历数组
- MFC单文档框架编程(三): CTabView的使用
- 使用MFC自动化操作Excel文档
- Dev控件使用 - 使用xtraTabbedMdiManager控件制作浏览器的标签效果
- MFC MDI单窗口多标签实现
- 使用Struts2的iterator标签遍历复杂的Map类型
- MFC使用OpenCV在文档窗口中显示图像(支持多图片格式)
- MFC标签页控件的使用
- MFC入门学习之控件(5)标签控件List Control的添加和使用(中)
- 使用 C++ .NET 和 MFC 嵌入并自动化 Word 文档
- 通过按钮控件实现MDI新建子窗口(MFC自动生成的视图、文档、子框架共用)
- 使用Struts2的iterator标签轻松遍历复杂的Map类型
- Spring MVC使用jstl 标签c:forEach 遍历输出双层嵌套List的数据