Класс 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