MFC 多文档

来源:互联网 发布:软件安全性测试过程 编辑:程序博客网 时间:2024/06/11 05:12

1.获取当前文档指针
//获取主框架指针
CMainFrame* pMainFrm = (CMainFrame*)AfxGetMainWnd();
//从主框架指针获取子框架指针
CMDIChildWnd *pChild =  (CMDIChildWnd *) pMainFrm ->GetActiveFrame();
//通过子框架指针获取当前视图指针
CVwView *pView = (CVwView *) pChild->GetActiveView();
//通过当前视图指针获取当前文档指针
CDocument*   pDocument=pChild -> GetActiveDocument();

2.遍历获取指定类型的文档指针
//获取第一个文档模版位置
POSITION Doctemppos=pApp->GetFirstDocTemplatePosition();   
while (!Doctemppos)
{
//遍历:返回第一个文档模板指针并获取下个文档模板位置
CDocTemplate *pDocTemplate = pApp->GetNextDocTemplate(Doctemppos);
//获取第一个文档位置
POSITION Docpos = pDocTemplate->GetFirstDocPosition();
while(!docpos)
{
//遍历:返回第一个文档指针并获取下个文档位置
CDocument  *pdoc = pDocTemplate->GetNextDoc(Docpos );
//判断该文档是否是想要找的模板:例如
if(pDocu  m   ent->IsKindOf(RUNTIME_CLASS(CPD_Projec tDoc )))
{
   AfxMessageBox("...");
}
}
}

原创粉丝点击