Создание шаблонов документов
При создании нового документа в ответ на команду "Создать " или "Открыть " из меню "Файл " шаблон документа также создает новое окно фрейма, с помощью которого можно просмотреть документ.
Конструктор шаблона документа указывает, какие типы документов, окон и представлений шаблон сможет создать. Это определяется аргументами, которые передаются конструктору шаблона документа. Следующий код иллюстрирует создание 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
конструктора включают идентификатор ресурса, связанный с меню и акселераторами типа документа, и три использования макроса RUNTIME_CLASS . RUNTIME_CLASS
возвращает объект CRuntimeClass для класса C++ с именем в качестве аргумента. CRuntimeClass
Три объекта, переданные конструктору шаблона документа, предоставляют сведения, необходимые для создания новых объектов указанных классов во время процесса создания документа. В примере показано создание шаблона документа, создающего CScribDoc
объекты с присоединенными CScribView
объектами. Представления обрамляются стандартными окнами дочерних фреймов MDI.
См. также
Шаблоны документов и процесс создания документа или представления
Создание документа и представления
Отношения между объектами MFC
Создание документов, окон и представлений