Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора 130стр.doc
Скачиваний:
95
Добавлен:
15.06.2014
Размер:
2.49 Mб
Скачать

26)Архитектура «документ/представление»

архитектура "документ/представление" охватывает следующие основные классы:

CWinApp — класс для создания единственного объекта — приложения;

CFrameWnd — класс для создания главного окна однодокументного приложения и базовый для классов CMDIFrameWnd и CMDIChildWnd, которые отвечают за работу многодокументного приложения;

CDocTemplate — базовый абстрактный класс для создания шаблонов документов; при работе с однодокументным приложением используется производный от него класс CSingleDocTemplate, а для многодокументных — класс CMultiDocTemplate,

CDocument — класс для создания собственно документа;

CView — базовый класс, который совместно со своими производными классами — CCtiiView, CEditView, CListView, CTreeView и CScrollView — отвечает за отображение данных документа и за взаимодействие с пользователем; для этих же целей можно использовать класс CSplitterWnd.

Базовым классом для создания шаблонов является CDocTemplate. Это абстрактный класс, в котором реализованы основные функциональные возможности для работы с шаблонами документов — организация и управление взаимодействием между классами трех типов:

Классом документа, образованного из CDocument.

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

Классом фрейма, который содержит представление. Для SDI-приложе-ний он создается на основе CFrameWnd, а для MDI-приложений — на базе CMDIChildWnd. Базовые классы можно использовать и непосредственно.

Фрейм документа имеет две основные составляющие — собственно фрейм и его окно, представляющее на экране данные документа. Эти два компонента представлены и управляются различными группами классов библиотеки MFC:

  • классы фреймов (CFrameWndи CMDIChildWnd);

  • классы представлений (CView, CScrollView и другие).

перечислим те шаги, которые необходимо проделать для организации работы в рамках архитектуры "документ/представление":

создать объект-приложение; создать объекты-документы;

создать необходимое число представлений каждого документа (см. главу 18);

в функции Initlnstance объекта-приложения создать объекты-шаблоны документов и добавить их к его списку;

создать необходимые ресурсы для каждого из них;

переопределить функцию CFrameWnd::OnCreateClient, в которой присоединить к фрейму документа необходимые представления;

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

Архитектура "документ/представление"(Document/view)

Место объекта-приложения в архитектуре "документ/представление"

Класс CDocTemplate

Класс CSingleDocTemplate

Класс CMultiDocTemplate

Роль фреймов в архитектуре "документ/представление"

Сериализация

Класс CArchive

Глава 20. Документ и его представления

Документы

Класс CDocument

Представления

Класс CView

Класс CCtrlView

Класс CEditView

Классы CListView и CTreeView

Класс CScrollView

Класс CSplitterWnd

Глава 21. Печать и предварительный просмотр документов

Выбор и настройка параметров принтера

Создание контекста устройства

Печать документов и библиотека MFC

Предварительный просмотр документа