从“文件”菜单中创建新文档以响应“新建”或“打开”命令时,文档模板还会创建用于查看文档的新框架窗口。
文档模板构造函数指定模板能够创建的文档、窗口和视图的类型。 这由传递给文档模板构造函数的参数确定。 以下代码演示如何为示例应用程序创建 CMultiDocTemplate :
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_CMyDocTypeTYPE,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CMyView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
指向新 CMultiDocTemplate
对象的指针用作 AddDocTemplate 的参数。 CMultiDocTemplate
构造函数的参数包括与文档类型的菜单和加速器相关联的资源 ID,以及 RUNTIME_CLASS 宏的三个用法。 RUNTIME_CLASS
返回 C++ 类(其名称为参数)的 CRuntimeClass 对象。 传递给文档模板构造函数的三 CRuntimeClass
个对象提供在文档创建过程中创建指定类的新对象所需的信息。 该示例演示如何创建一个文档模板,该模板创建附加 CMyDoc
对象的 CMyView
对象。 视图由自定义 MDI 子框架窗口 CChildFrame
进行框架化。