Визуальное программирование и MFC

       

Создание шаблона документа


Шаблоны документов, с которыми работает приложение, определяют все характеристики данного типа документа. Они включают информацию о классе документа, классе окна просмотра, классе окна рамки, а также о ресурсах, связанных с данным типом документа.

Шаблоны документов создаются объектом приложения во время его инициализации. Если, например, посмотреть на метод InitInstance главного класса приложения multi, то видно, что в нем создается только один объект класса CMultiDocTemplate, который представляет графический документ и средства работы с ним. Если необходимо, чтобы многооконное приложение работало и с другим типами документов, необходимо в методе InitInstance создать объект шаблона документов этих типов и добавить его в список шаблонов. Например:

BOOL CMultiApp::InitInstance() { ....... CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_MULTITYPE,RUNTIME_CLASS(CMultiDoc), RUNTIME_CLASS(CChildFrame),RUNTIME_CLASS(CMultiView)); AddDocTemplate(pDocTemplate);

pDocTemplate = new CMultiDocTemplate( IDR_OTHERTYPE,RUNTIME_CLASS(COtherDoc), RUNTIME_CLASS(CChildFrame),RUNTIME_CLASS(COtherView)); AddDocTemplate(pDocTemplate);

.... return TRUE; }

При создании шаблона документов указывается идентификатор, который определяет меню, пиктограмму и некоторую другую полезную информацию, связанную с документами данного типа. В методе InitInstance класса в качестве шаблона текстового документа указан идентификатор IDR_OTHERTYPE (такой идентификатор еще не определен, о ресурсах текстового документа речь пойдет далее).

Чтобы созданный шаблон текстовых документов добавить к списку шаблонов документов приложения, надо вызвать метод AddDocTemplate, указав ему адрес объекта шаблона.



Содержание раздела