CMultiDocTemplate::CMultiDocTemplate

CMultiDocTemplate(
      UINT nIDResource,
      CRuntimeClass* pDocClass,
      CRuntimeClass* pFrameClass,
      CRuntimeClass* pViewClass
      );

参数:
nIDResource指定文档类型使用的资源ID号。它可包括菜单、图标、加速表以及字符串资源。
字符串资源由七个子串构成,这些子串由'\n'字符分割(若不包括子串,那么'\n'字符需要作为位置占有者;但结尾的'\n'字符不是必要的)。它们描述了文档的类型。如果需要这些子串的信息,请参阅CDocTemplate::GetDocString。可以在应用的资源文件中找到该字符串资源。例如:
// MYCALCRC
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
   IDR_SHEETTYPE "\nSheet\nWorksheet\nWorksheets (* .myc)\n.myc\nmyCalcSheet\ nmyCalc Worksheet"
END
注意字符串由'\n'字符开始,其原因在于MDI应用没有使用第一个子串,因此它们没有包含在内。可以使用字符串编辑器来编辑字符串。在String Editor(字符串编辑器)中,完整的字符串将作为一个入口,而不是七个独立的入口。
如果要了解有关这些资源类型的更多信息,请参阅联机文档“Visual C++程序员指南”中的“资源编辑器”。

pDocClass指向文档类的CRuntimeClass 对象。该类为CDocument派生的类,可以用于代表自己的文档。
pFrameClass指向框架窗口类的CRuntimeClass对象。该类可以为CMDIChildWnd派生的类,或者希望获取文档框架窗口的缺省行为,那么该值为CMDIChildWnd本身。
pViewClass指向视图类的CRuntimeClass对象。该类为用户定义显示文档的CView派生的类。

说明:
构造一个CMultiDocTemplate 对象。动态地为应用支持的每种文档类型分配CMultiDocTemplate 对象,并将其中的每一种从应用类的InitInstance成员函数传递给CWinApp::AddDocTemplate。

示例:
//example for CMultiDocTemplate
BOOL CMyApp::InitInstance()
{
     // ...
     // Establish all of the document types
     // supported by the application
     AddDocTemplate( new CMultiDocTemplate(
                            IDR_SHEETTYPE,
                            RUNTIME_CLASS( CSheetDoc ),
                            RUNTIME_CLASS( CMDIChildWnd ),
                            RUNTIME_CLASS( CSheetView )
                           )
                   );
     AddDocTemplate( new CMultiDocTemplate(
                            IDR_NOTETYPE,
                            RUNTIME_CLASS( CNoteDoc ),
                            RUNTIME_CLASS( CMDIChildWnd ),
                            RUNTIME_CLASS( CNoteView )
                           )
                   );
     // ...
}

请参阅:
CDocTemplate::GetDocString, CWinApp::AddDocTemplate, CWinApp::InitInstance, CRuntimeClass