Класс CMDIChildWnd
Предоставляет функциональность дочернего окна документа Windows с несколькими интерфейса (MDI) вместе с элементами управления в окне.
class CMDIChildWnd : public CFrameWnd
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CMDIChildWnd. |
Открытые методы
Имя |
Описание |
---|---|
Создает дочернее окно MDI Windows, связанное с объектом CMDIChildWnd. |
|
Возвращает родительский кадр MDI окна клиента MDI. |
|
Активировать это дочернее окно MDI. |
|
Уничтожает это дочернее окно MDI. |
|
Развернуть это дочернее окно MDI. |
|
Извлекает это дочернее окно MDI из развернутого или свернутого размера. |
|
Задает маркеры для ресурсов меню и сочетаний клавиш. |
Заметки
Дочернее окно MDI выглядит аналогично типичное фреймовое окно, за исключением того, что дочернее окно MDI появляется внутри фреймового окна MDI, а не на рабочем столе.Дочернее окно MDI не содержит строку меню его вместо этого он использует фреймового окна меню MDI.Платформа автоматически изменяются меню кадра MDI, чтобы представлять активное в данный момент дочернее окно MDI.
Чтобы создать полезный дочернее окно MDI для конкретного приложения, создайте класс, наследуемый от CMDIChildWnd.Добавьте элемент переменные к производному классу для хранения данных, относящийся к приложению.Реализуйте функции-члены обработчика сообщений и сопоставление сообщения в производном классе позволяет определить, что происходит, когда сообщения направляются в окно.
3 Способа построения дочернее окно MDI:
Непосредственно постройте его с помощью Создать.
Непосредственно постройте его с помощью LoadFrame.
Косвенно выполните его построение с помощью шаблона документа.
Прежде чем вызывать метод Создать или LoadFrame необходимо построить объекте фреймового окна в куче с помощью оператора C++ новый.Перед вызовом Создать можно также зарегистрировать класс окна с функцией AfxRegisterWndClass глобальный, чтобы задать стили значка и класса для кадра.
Использование функции-члена Создать чтобы передать параметры создания кадра, как непосредственные аргументы.
LoadFrame требуется меньшее число аргументов, чем Создать, а вместо этого извлекает большинство значений по умолчанию из ресурсов, включая заголовок кадра, значок таблицы сочетаний клавиш и меню.LoadFrame быть доступны все эти ресурсы должны иметь один и тот же идентификатор ресурсов (например, IDR_MAINFRAME).
Если объект CMDIChildWnd содержащий представления и документов, они созданы неявно платформой, а не напрямую по программиста.Объект CDocTemplate оркеструет создание фрейма, создание представлений и представлений, содержащий соединение в соответствующий документу.Параметры конструктора CDocTemplate определяют CRuntimeClass 3 классов, которые участвуют (документ, кадр и представление).Объект CRuntimeClass используется платформой для динамического создания новых определенный пользователем кадров (например, с помощью команды файла новой или команды в окне интерфейса MDI новую).
Класс фреймового окна, производный от CMDIChildWnd должен быть объявлен с DECLARE_DYNCREATE, вышеуказанный механизм RUNTIME_CLASS работал правильно.
Класс CMDIChildWnd наследует большую часть своей реализации по умолчанию из CFrameWnd.Подробный список этих функций см. в описании класса CFrameWnd.Класс CMDIChildWnd, имеет следующие дополнительные функции:
Совместно с классом CMultiDocTemplate, несколько объектов CMDIChildWnd из одного шаблона документа используют один и тот же меню, при сохранении ресурсы системы Windows.
Активное в данный момент меню дочернего окна MDI полностью заменяет фреймового окна меню MDI и заголовок активное в данный момент дочернее окно MDI добавлено к заголовку фреймового окна MDI.Другие примеры функций дочернего окна MDI, предоставляемые вместе с фреймовым окно MDI см. в описании класса CMDIFrameWnd.
Не используйте оператор C++ удалить для уничтожения фреймовое окно.Взамен рекомендуется использовать CWnd::DestroyWindow.Реализация CFrameWndPostNcDestroy удаляет объект C++, если окно будет удалено.Когда пользователь закрывает фреймовое окно, по умолчанию будут вызывать DestroyWindow обработчика OnClose.
Дополнительные сведения о CMDIChildWnd см. в разделе фреймовые окна.
Иерархия наследования
CMDIChildWnd
Требования
Заголовок: afxwin.h