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