Microsoft Visual C++ и MFC. Программирование для Win95 и WinNT

         

Создание шаблона текстовых документов


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

Шаблоны документов создаются объектом приложения во время его инициализации. Откройте метод InitInstance главного класса приложения CMultiApp. В нем создается только один объект класса CMultiDocTemplate, который представляет графический документ и средства для работы с ним.

Так как наше приложение должно работать не только с графическими, но и с текстовыми документами, вы должны создать еще один объект шаблона документов, представляющий текстовый документ. Класс текстового документа называется CEditorDoc, класс окна для его просмотра CEditorView. В качестве окна рамки мы используем класс CChildFrame. Ниже представлен соответствующий фрагмент метода InitInstance:

//////////////////////////////////////////////////////////////

// CMultiApp initialization

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_EDITORTYPE,

      RUNTIME_CLASS(CEditorDoc),

      RUNTIME_CLASS(CChildFrame),

      RUNTIME_CLASS(CEditorView));

   AddDocTemplate(pDocTemplate);

   // ...

   return TRUE;

}

При создании шаблона документов указывается идентификатор, который определяет меню, пиктограмму и некоторую другую полезную информацию, связанную с документами данного типа. Мы указали для шаблона текстового документа идентификатор IDR_EDITORTYPE. Здесь мы несколько забежали вперед, так как такой идентификатор еще не определен. Мы вернемся к ресурсам текстового документа в следующем разделе.

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



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