Создание окон фрейма документа
Создание документа и представления показывает, как объект CDocTemplate управляет созданием окна фрейма, документа и просмотра и подключения к ним вместе. Три аргумента CRuntimeClass конструктора CDocTemplate
указывают окно кадра, документ и классы просмотра, которые шаблон документа создает динамически в ответ на пользовательские команды, такие как новая команда в меню "Файл" или команда "Создать окно" в меню окна MDI. Шаблон документа сохраняет эти сведения для последующего использования при создании окна фрейма для представления и документа.
Чтобы механизм RUNTIME_CLASS работал правильно, производные классы окна кадров должны быть объявлены с помощью макроса DECLARE_DYNCREATE. Это связано с тем, что платформа должна создавать окна фреймов документов с помощью динамического механизма построения класса CObject
.
Когда пользователь выбирает команду, которая создает документ, платформа вызывает шаблон документа для создания объекта документа, его представления и окна кадра, отображающего представление. При создании окна фрейма документа шаблон документа создает объект соответствующего класса — класс, производный от CFrameWnd для приложения SDI или CMDIChildWnd для приложения MDI. Затем платформа вызывает функцию элемента LoadFrame объекта frame, чтобы получить сведения о создании из ресурсов и создать окно Windows. Платформа присоединяет дескриптор окна к объекту frame-window. Затем он создает представление в качестве дочернего окна окна фрейма документа.
Используйте осторожность при выборе момента инициализации производного CWnd
объекта.
Что вы хотите узнать больше о
Извлечение класса из CObject (его механизм динамического создания)
Создание документа и представления (создание шаблонов и окна фрейма)