比较复杂:
当你在 程序的InitInstance() 函数调用AddDocTemplate()来注册多个文档模板对象时,MFC无法知道应该如何使用哪一个文档模板对象来完成用户的“File”->“New”请求,因此MFC弹出一个对话框,该对话框列出了各种注册过的文档模板对象以允许用户指出应该使用哪一个来调用CDocTemplate::OpenDocumentFile()。显示该对话框的代码在CDocManager::OnFileNew()函数中:
...
if (m_templateList.GetCount() > 1)
{
CNewTypeDlg dlg(&m_templateList);
int nID = dlg.DoModal(); // here
if(nID == IDOK)
...
}
...
你不太可能重载CDocTemplate::OpenDocumentFile()函数该函数由CWinApp::OnFileNew()所调用
...
m_pDocManager->OnFileNew();
...你可以通过重载CWinApp::OnFileNew()来控制具体用哪个模板:
void CMyApp::OnFileNew()
{
m_ptDefaultTemplate->OpenDocumentFile(NULL); // 你指定的缺省模板
}实际可能跟复杂,你可以看看《MFC经典问答》
当你在 程序的InitInstance() 函数调用AddDocTemplate()来注册多个文档模板对象时,MFC无法知道应该如何使用哪一个文档模板对象来完成用户的“File”->“New”请求,因此MFC弹出一个对话框,该对话框列出了各种注册过的文档模板对象以允许用户指出应该使用哪一个来调用CDocTemplate::OpenDocumentFile()。显示该对话框的代码在CDocManager::OnFileNew()函数中:
...
if (m_templateList.GetCount() > 1)
{
CNewTypeDlg dlg(&m_templateList);
int nID = dlg.DoModal(); // here
if(nID == IDOK)
...
}
...
你不太可能重载CDocTemplate::OpenDocumentFile()函数该函数由CWinApp::OnFileNew()所调用
...
m_pDocManager->OnFileNew();
...你可以通过重载CWinApp::OnFileNew()来控制具体用哪个模板:
void CMyApp::OnFileNew()
{
m_ptDefaultTemplate->OpenDocumentFile(NULL); // 你指定的缺省模板
}实际可能跟复杂,你可以看看《MFC经典问答》
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货