Введение в программирование

       

Класс CDocTemplate


Класс CDocTemplate является абстрактным классом, предоставляющим основные возможности для работы с шаблонами документов.

Шаблон документа определяет отношение между тремя типами классов.

  • Класс документа, наследуемый отCDocument.
  • Класс отображения, выполняющий показ данных для указанного класса документа. Класс отображения может быть наследован от классов CView, CScrollView, CFormView, CEditView. (Класс CEditView может быть использован и напрямую.)
  • Класс окна-рамки, содержащий отображение. Для SDI-приложений этот класс наследуется от базового класса CFrameWnd, а для MDI-приложений - от базового класса CMDIChildWnd. Однако, если в приложении не требуется переопределять поведение объекта "окно-рамка", то может быть создан объект "окно-рамка" непосредственно базового класса, без объявления производных классов.

Для каждого типа документа в приложении создается отдельный шаблон документа.

Класс CDocTemplate является абстрактным классом и, следовательно, не может использоваться непосредственно для создания объектов. Обычно для создания шаблонов применяются его производные классы CSingleDocTemplate и CMultiDocTemplate. Однако можно создать и свой собственный производный класс шаблона документа.

Например:

BEGIN IDR_MYTYPE "\nSheet\nWorksheet\n Worksheets (*.myc)\n.myc\ n MyCalcSheet\nMyCalc Worksheet" END BOOL CMyApp::InitInstance() { CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_MYTYPE, RUNTIME_CLASS(CMyDoc), RUNTIME_CLASS(CMDIChildWnd), RUNTIME_CLASS(CMyView)); AddDocTemplate(pDocTemplate); // ... }



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