Класс документа

Класс документа приложения CMultiDoc наследуется от базового класса CDocument библиотеки MFC. MFC AppWizard определяет класс документа приложения одинаково для однооконных и многооконных приложений.

Если просмотреть исходные тексты приложения, то нигде нельзя обнаружить кода, который бы явно создавал объекты этого класса. Объект класса CMultiDoc создается динамически шаблоном документа во время работы приложения. Шаблон документа также динамически создает еще два объекта - класса дочернего MDI-окна и класса окна просмотра.

Конструктор и деструктор класса. Конструктор и деструктор, подготовленные MFC AppWizard, содержат пустые блоки. Можно поместить в них код инициализации для объектов класса.

Следует иметь в виду, что для приложений, построенных на основе многооконного интерфейса, объект класса документ создается каждый раз, когда пользователь создает новый документ или открывает документ.

Таблица сообщений класса. Непосредственно после создания проекта таблица сообщений класса CMultiDoc не содержит обработчиков сообщений. Когда приложение будет разрабатываться дальше, программист может добавлять обработчики различных сообщений к классу CMultiDoc и другим классам приложения.

Методы OnNewDocument и Serialize. В классе CMultiDoc переопределены два виртуальных метода: OnNewDocument и Serialize. Эти методы аналогичны соответвующим методам класса документа однооконного приложения.

Методы AssertValid и Dump. Класс CMultiDoc содержит переопределения еще двух виртуальных методов: AssertValid и Dump, входящих в базовый класс CObject.