18c0693f

Документы и отображения


Архитектура "документ/отображение" (document/view) базируется на взаимодействии четырех основных классов.

Отображение представляет вид документа на экране и является некоторой средой, взаимосвязывающей документ и пользователя. Объект "отображение" воспроизводит вид документа на экране и интерпретирует действия пользователя как операции над документом. Класс отображения также форматирует изображение как для печати, так и для предварительного просмотра.


Рис. 20.1.  Взаимосвязь объектов "документ ->отображение -> окно-рамка "

Объект "отображение" используется не только для представления документов на экране. Он же представляет документ и для печати, и для предварительного просмотра печатаемого документа.

С помощью механизма "документ-отображение" реализуется разделение данных, их экранное представление и обработка действий пользователя.

Операции по изменению данных реализуются классами документа.
Объект отображение только вызывает этот интерфейс для доступа и обновления данных.

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

Создание нового документа и сопоставленного ему отображения и окна-рамки. выполняется различными объектами: объектом "приложение", шаблоном документа, созданным документом и созданным окном-рамкой.

Следующая таблица иллюстрирует, какими объектами создаются шаблон документа, документ, окно-рамка и отображение.

Создающий объектСоздаваемый объект
Приложение (Application object)Шаблон документа
Шаблон документа (Document template)Документ
Шаблон документа (Document template)Окно-рамка
Окно-рамка (Frame window)Отображение (View)
Все оконные MFC-приложения имеют как минимум два объекта: объект "приложение", производный от класса CWinApp, и объект "главное окно", производный от класса CWnd или его потомков - классов CFrameWnd, CMDIFrameWnd и CDialog.

Объект "документ" отвечает за внутреннее представление данных, показываемых объектом "отображене". Объект "отображение" предназначен для манипулирования данными объекта документа. Объект "отображение" состыковывается с объектом "документ" и окном-рамкой, образуя цепочку "документ->отображение->окно". Приложения, использующие SDI (Single Document Interface) или MDI (Multi Document Inter-face) интерфейс соответственно, называются SDI-приложением и MDI-приложением. Такие приложения относятся к приложениям с архитектурой "документ-отображение" (document/view).




Все публикации раздела