从“文件”菜单中创建新文档以响应“新建”或“打开”命令时,文档模板还会创建用于查看文档的新框架窗口。
文档模板构造函数指定模板能够创建的文档、窗口和视图的类型。 这由传递给文档模板构造函数的参数确定。 以下代码演示如何为示例应用程序创建 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
个对象提供在文档创建过程中创建指定类的新对象所需的信息。 该示例演示如何创建一个文档模板,该模板使用附加的对象创建 CScribDoc
对象 CScribView
。 视图由标准 MDI 子框架窗口进行框架。