我有一个关于MFC的(可能是荒谬的)问题 - SDI应用程序可以支持多个文档类型吗? (同时在创建新文档时显示" choose-document"对话,但这并非绝对必要,我自己也可以自己处理。)我想做的是我的应用程序表现得像现代办公程序,即每个新文档(某种类型)驻留在其自己的应用程序实例中,而不是与其他开放文档(MDI的概念)共享公共空间。
如果SDI不能提供这样的功能(我最近的实验建议),有人可以建议我如何处理"打开" MDI下的命令在应用程序的新实例中打开文件? (这同样适用于" new"命令。)
答案 0 :(得分:1)
答案 1 :(得分:0)
您只需使用CWinApp::AddDocTemplate添加文档模板
msdn链接仅提供CMultiDocTemplate
的示例,因此我在此处包含了使用visual studio创建新项目时生成的CSingleDocTemplate
示例。
// Register the application's document templates. Document templates
// serve as the connection between documents, frame windows and views
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CSDITestDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CSDITestView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);