Следующим классом приложения multi является класс окна просмотра документа CMultiView. Этот класс наследуется от базового класса CView библиотеки MFC.
Окно просмотра и связанный с ним класс окна просмотра документа создается шаблоном документа в процессе работы приложения. Поэтому необходимо, чтобы объекты класса CMultiView можно было создавать динамически.
Для этого определяется конструктор класса, не имеющий параметров, а в определении класса указывается макрокоманда DECLARE_DYNCREATE, а в файле реализации - макрокоманда IMPLEMENT_DYNCREATE.
Класс CMultiView наследуется от базового класса CView. Однако, при необходимости, можно наследовать этот класс и от некоторых других классов библиотеки MFC.
Метод GetDocument. Этот метод возвращает указатель на документ, связанный с данным окном просмотра. Если окно просмотра не связано ни с каким документом, метод возвращает значение NULL.
Таблица сообщений класса CMultiView. Непосредственно перед таблицей сообщений класса CMultiView находится макрокоманда INPLEMENT_DYNCREATE. В таблице указываются обработчики сообщений от пунктов меню для печати ID_FILE_PRINT, ID_FILE_PRINT_DIRECT и ID_FILE_PRINT_PREVIEW.
|
|
Конструктор и деструктор класса CMultiView. Конструктор класса CMultiView, созданный MFC AppWizard, не содержит команд. Можно доработать его, чтобы конструктор выполнял инициализацию, связанную с окном просмотра.
Вместе с конструктором класса CMultiView MFC AppWizard определяет деструктор ~CMultiView. Сразу после создания проекта деструктор не выполняет никаких действий. В дальнейшем можно использовать его совместно с конструктором CMultiView.
Метод OnDraw. Это метод вызывается, когда надо отобразить документ в окне. В качестве параметра pDC методу OnDraw передается указатель на контекст устройства, используя который надо отобразить документ.
Методы OnPrepare, OnBeginPrinting и OnEndPrinting. Виртуальные методы OnPrepare, OnBeginPrinting и OnEndPrinting, определенные в классе CView, вызываются, если пользователь желает распечатать документ, отображенный в данном окне просмотра.
Методы AssertValid и Dump. На время отладки приложения в состав класса CMultiView включаются переопределения виртуальных методов AssertValid и Dump. Эти методы определены в базовом классе CObject и используются при отладке приложения. При окончательном построении приложения эти методы не переопределяются.