Шаг 1045 - CView

1045_1.gif (1065 b)

Класс CView обеспечивает базисные функциональные возможности для определяемых пользователем классов просмотра. Просмотр приложен к документу и действует как посредник между документом и пользователем: просмотр выполняет изображение документа относительно экрана или принтера и интерпретирует ввод пользователя как операции после документа.

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

Просмотр может быть приложен к только одному документу, но документ может иметь многократные просмотры, приложенные к нему, например, если документ отображается в окне расщепителя или в многократных дочерних окнах в многодокументной среде (MDI) прикладной программы. Ваша прикладная программа может поддерживать различные типы просмотров для данного типа документа; например, программа обработки текстов могла бы обеспечивать, и полный текстовый просмотр документа и просмотра иерархической структуры, который показывает только заголовки раздела. Эти различные типы просмотров могут быть помещены в отдельные рамочные окна или в отдельных областях окна одиночного рамочного окна, если Вы используете окно расщепителя.

Просмотр может быть ответственен за обработку несколько различных типов ввода, типа ввода с клавиатуры, ввода мыши или перетаскивание, также как команды из меню, инструментальных панелей, или слайдеров. Просмотр получает команды, посланные рамочным окном. Если просмотр не обрабатывает данную команду, он пересылает команда к связанному документу. Подобно всем адресатам команды, просмотр обрабатывает сообщения через карту сообщения.

Просмотр ответственен за отображение и изменение данных документа, но не для сохранения его. Документ обеспечивает просмотр необходимыми подробностями относительно данных. Вы можете позволять просмотру обращаться к элементам данных документа непосредственно, или Вы можете обеспечивать функции в классе документа для класса просмотра, чтобы вызывать их.

Когда изменяются данные документа обычно вызывают CDocument::UpdateAllViews для документа, которые сообщает всем другим просмотрам, вызывая функцию для каждого. Заданная по умолчанию реализация OnUpdate объявляет неверным всю клиентскую область просмотра. Вы можете перегружать ее, чтобы объявить неверным только те области клиентской области, которые отображают к изменяемым частям документа.

Чтобы использовать CView, получите класс из него, и напишите код в OnDraw функции , чтобы выводить отображение. Вы можете также использовать OnDraw, чтобы выполнить предварительный просмотр печати и печать. Рамка обрабатывает цикл печати для печати и предварительного просмотра вашего документа.

Просмотр обрабатывает сообщения слайдера с CWnd::OnHScroll и CWnd::OnVScroll функциями. Вы можете выполнять обработку сообщения слайдера в этих функциях, или Вы можете использовать CView полученный класс CScrollView, чтобы обработать прокрутку для Вас.

Помимо CScrollView, MFC обеспечивает девять других классов, полученные из CView:

CCtrlView - просмотр, который позволяет использование документа - вид архитектуру с деревом, списком, и средствами редактирования.
CDaoRecordView - просмотр, который отображает записи базы данных в средствах управления диалогового окна.
CEditView - просмотр, который обеспечивает простой редактор текста мультистроки. Вы можете использовать объект CEditView как элемент управления в диалоговом окне также как в виде на документа.
CFormView - прокручиваемый просмотр, который содержит диалоговое окно и основан на ресурсе шаблона диалога.
CListView - просмотр, который позволяет использование документа - архитектуру просмотра со средствами управления списка.
CRecordView - просмотр, который отображает записи базы данных в средствах управления диалогового окна.
CRichEditView - просмотр, который позволяет использование документа - вид архитектуру с богатыми средствами редактирования.
CScrollView - просмотр, что автоматически обеспечивает поддержку прокрутки.
CTreeView - просмотр, который позволяет использование документа - вид архитектуру просмотра со средствами управления дерева.

Класс CView также имеет полученный класс реализации CPreviewView, который используется рамкой, чтобы выполнить предварительный просмотр печати. Этот класс обеспечивает поддержку для свойств, уникальных к окну предварительного просмотра печати, типа инструментальной панели, одиночного или просмотра с двойной страницей, масштабирование. Вы не должны вызывать или перегружать любую из функций CPreviewView, если Вы не хотите выполнять ваш собственный интерфейс для предварительного просмотра печати (например, если Вы хотите поддерживать редактирование в режиме предварительного просмотра печати).

#include <afxwin.h>

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 20.02.2002