Шаг 1021 - CDocTemplate

1021_1.gif (909 b)

CDocTemplate - абстрактный класс, который определяет базисные функциональные возможности для шаблонов документа. Вы обычно создаете один или большее количество шаблонов документа в реализации функции InitInstance вашей прикладной программы. Шаблон документа определяет связи среди трех типов классов:

Класс документа, который происходит от CDocument.

Класс просмотра, который отображает данные из класса документа, перечисленного выше. Вы можете получать этот класс из CView, CScrollView, CFormView, или CEditView. (Вы можете также использовать CEditView непосредственно.)

Класс рамочного окна, который содержит просмотр. Для одиночного интерфейса документа (SDI) прикладная программа, Вы получаете этот класс из CFrameWnd. Для многодокументной среды (MDI) прикладная программа, Вы получаете этот класс из CMDIChildWnd. Если Вы не должны настроить поведение рамочного окна, Вы можете использовать CFrameWnd или CMDIChildWnd непосредственно без того, чтобы получить ваш собственный класс.

Ваша прикладная программа имеет один шаблон документа для каждого типа документа, который она поддерживает. Например, если ваша прикладная программа поддерживает электронных таблицы и текстовые документы, прикладная программа имеет два объекта шаблона документа. Каждый шаблон документа ответственен за создание и управление всеми документами относительно типа.

Шаблон документа сохраняет указатели на объекты CRuntimeClass для документа, просмотра, и классов рамочного окна. Эти объекты CRuntimeClass определены при построении шаблона документа.

Шаблон документа содержит ID ресурсов, используемых с типом документа (типа меню, пиктограммы, или ресурсов таблицы акселератора). Шаблон документа также имеет строки, содержащие дополнительную информацию относительно типа документа. Они включают имя типа документа (например, "Рабочий лист") и расширение файла (например, ".xls"). Факультативно, это может содержать другие строки, используемые интерфейсом пользователя прикладной программы, Диспетчером файлов Windows, связью и внедрением объектов (OLE).

Если ваша прикладная программа - контейнер OLE или станция, шаблон документа также определяет ID меню, используемого в течение оперативной активации. Если ваша прикладная программа - OLE сервер, шаблон документа определяет ID инструментальной панели и меню, используемого в течение оперативной активации. Вы определяете эти дополнительные ресурсы OLE, вызывая SetContainerInfo и SetServerInfo.

Потому что CDocTemplate - абстрактный класс, Вы не можете использовать класс непосредственно. Типичная прикладная программа использует один из двух CDocTemplate классов, обеспеченных MFC : CSingleDocTemplate, который осуществляет SDI, и CMultiDocTemplate, который осуществляет MDI.

Если ваша прикладная программа требует парадигмы интерфейса пользователя, которая существенно отличается от SDI или MDI, Вы можете получать ваш собственный класс из CDocTemplate.

#include <afxwin.h>

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 19.02.2002