一种限制MFC MDI架构中某类型文档个数的方法
时间:2010-12-05 来源:I'm 农民工
void CtestmdiApp::OnFileNew() { POSITION pos = m_pDocManager->GetFirstDocTemplatePosition(); while (pos != NULL) { CDocTemplate* pDocTemp = m_pDocManager->GetNextDocTemplate(pos); POSITION docPos = pDocTemp->GetFirstDocPosition(); while(docPos != NULL) { CDocument* pDoc = pDocTemp->GetNextDoc(docPos); if (pDoc->IsKindOf(RUNTIME_CLASS(CtestmdiDoc))) { return; } break; } } CWinAppEx::OnFileNew(); }
即在创建文档的时候,截取创建消息,并从docManager中取得文档模板信息,并进而枚举出所有的已创建的文档对象进行判断,当找到该类型文档对象的时候,就返回;否则,即没找到的情况下,创建一个该类型的文档对象。
相关阅读 更多 +