Урок №3 - Исследование структуры приложения MFC
Класс документа
Объявление класса документа в файле HWDoc.h предусматривает перекрытие двух функций: OnNewDocument и Serialize. Функция OnNewDocument вызывается при выборе пользователем команды File, New. Хотя в приложениях MDI OnNewDocument вызывается только при создании нового объекта документа, ситуация в программах SDI несколько отличается. В этом случае OnNewDocument вызывается для повторной инициализации единственного объекта-документа приложения, т.е. множество операций инициализации, которые обычно входят в конструктор, находятся в этом методе.
Функция Serialize вызывается при чтении или сохранении документа. Эту функцию необходимо перекрыть и написать собственный программный код сохранения и чтения данных документа в новой версии.
Функция Serialize вызывается явно из CDocument::OnOpenDocument. Использование DECLARE_SERIAL (и IMPLEMENT_SERIAL ) необходимо только для классов, которые считывают данные из CArchive с помощью оператора >>
Обе перекрытые функции CHWDoc реализованы в файле HWDoc.cpp. Их реализации по умолчанию не выполняют никаких действий; необходимо самостоятельно написать программный код для инициализации документа и для чтения и сохранения его данных.