Поделиться через


Создание окна фрейма документов

Создание документа и вида показывает, как объект CDocTemplate управляет созданием окна рамки, документа и вида, связывая их все вместе. Три аргумента CRuntimeClass конструктора CDocTemplate указывают окно кадра, документ и классы просмотра, которые шаблон документа создает динамически в ответ на пользовательские команды, такие как новая команда в меню "Файл" или команда "Создать окно" в меню окна MDI. Шаблон документа сохраняет эти сведения для последующего использования при создании окна фрейма для представления и документа.

Чтобы механизм RUNTIME_CLASS работал правильно, производные классы оконных рам должны быть объявлены с помощью макроса DECLARE_DYNCREATE. Это связано с тем, что платформа должна создавать окна фреймов документов с помощью динамического механизма построения класса CObject.

Когда пользователь выбирает команду, которая создает документ, платформа вызывает шаблон документа для создания объекта документа, его представления и окна кадра, отображающего представление. При создании окна фрейма документа шаблон документа создает объект соответствующего класса — класс, производный от CFrameWnd для приложения SDI или CMDIChildWnd для приложения MDI . Затем фреймворк вызывает функцию члена LoadFrame объекта окна-кадра, чтобы получить сведения о создании из ресурсов и создать окно в среде Windows. Платформа присоединяет дескриптор окна к объекту frame-window. Затем он создает представление как дочернее окно рамочного окна документа.

Используйте осторожность при выборе момента инициализации производногоCWndобъекта.

Что вы хотите узнать больше о

См. также

Использование Окон фрейма