Поделиться через


CMultiDocTemplate::CMultiDocTemplate

Создает объект CMultiDocTemplate.

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

Параметры

  • nIDResource
    Указывает идентификатор ресурсов, используемых с типом документа. Это может включать меню, значок таблицы сочетаний клавиш и строковые ресурсы.

    Строковый ресурс состоит из до 7 подстрок, разделенных знаком ""\ n" символ (\ n" необходим как заполнитель, если подстрока не включается. однако конечные символы "\ n" не нужны); эти подстроки описывающие тип документа. Дополнительные сведения о подстроках см. в разделе CDocTemplate::GetDocString. Данный строковый ресурс найти в файле ресурсов приложения. Примеры.

    // MYCALC.RC

    STRINGTABLE PRELOAD DISCARDABLE

    BEGIN

    IDR_SHEETTYPE "\nSheet\nWorksheet\nWorksheets (*.myc)\n.myc\n MyCalcSheet\nMyCalc Worksheet"

    END

    Обратите внимание, что строка начинается с символа "\ n"; это происходит потому, что первая подстрока не используется для приложений MDI и поэтому не включается. Можно изменить эту строку с помощью редактора строк; вся строка отображается как один ввод в редакторе строк, а не 7 отдельных записей.

    Дополнительные сведения об этих типах ресурсов см. в разделе Редакторы ресурсов.

  • pDocClass
    Указатель на объект CRuntimeClass документа классифицируют. Этот класс CDocument- производный класс можно указать, чтобы представить документы.

  • pFrameClass
    Указатель на объект CRuntimeClass фреймового окна классифицируют. Этот класс может быть CMDIChildWnd- это производный класс или само по себе могут быть CMDIChildWnd если требуется расширение функциональности по умолчанию для фреймовых окна документа.

  • pViewClass
    Указатель на объект CRuntimeClass представления классифицируют. Этот класс CView- производный класс указываемые для отображения конкретных документов.

Заметки

Динамически выберите один объект CMultiDocTemplate для каждого типа документа, что поддержки приложений и отправьте каждый из InitInstance один к CWinApp::AddDocTemplate функции-члена класса приложения.

Пример

// Code fragment from CMyApp::InitInstance 

// Establish all of the document types 
// supported by the application

AddDocTemplate(new CMultiDocTemplate(IDR_BRUSHDOCTYPE,
   RUNTIME_CLASS(CBrushDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CBrushView)));

AddDocTemplate(new CMultiDocTemplate(IDR_DCDOCTYPE,
   RUNTIME_CLASS(CDCDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CDCView)));

Ниже втором примере.

// Code fragment taken from CMyApp::InitInstance 

// Normally, an application creates a document  
// template and registers it with MFC as a part 
// of its initialization. 

// IDR_EXAMPLEDOCTYPE is a resource ID string; see 
// the CDocTemplate class overview documentation 
// for more information on its format. 

// The next three parameters use the RUNTIME_CLASS() 
// macro to get runtime type information for the doc, 
// frame, and view classes that will be associated 
// by the template.

pDocTemplate = new CMultiDocTemplate(IDR_EXAMPLEDOCTYPE,
   RUNTIME_CLASS(CExampleDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CExampleView));
if (!pDocTemplate)
   return FALSE;

// After the following call, MFC is aware of the doc 
// template and will free it when the application is 
// shut down. The doc templates known to MFC will 
// automatically be used when CWinApp:OnFileOpen() 
// or CWinApp::OnFileNew() are called.

AddDocTemplate(pDocTemplate);

Требования

Header: afxwin.h

См. также

Ссылки

Класс CMultiDocTemplate

Диаграмма иерархии

CDocTemplate::GetDocString

CWinApp::AddDocTemplate

CWinApp::InitInstance

Структура CRuntimeClass