CMDIChildWnd

CMDIChildWnd класс предоставляет функциональные возможности Windows несколько документов () дочернего окна интерфейса MDI, наряду с членами для управления окном.

Дочернее окно MDI выглядит как типичный фрейме окна, за исключением того, что дочернего окна MDI появляется внутри фрейма окна интерфейса MDI, а не на рабочем столе. Дочернее окно MDI не содержит строку меню на своих собственных, но вместо этого разделяет меню фрейма окна интерфейса MDI. Рамки автоматически изменяет кадр меню MDI для представления в настоящее время активное дочернее окно MDI.

Класс для создания полезных дочернее окно MDI для вашего приложения, производный от CMDIChildWnd. Добавьте переменные-члены производного класса для хранения данных, характерных для приложения. Функции-члены реализовать обработчик сообщений и сообщение карта в производном классе, чтобы указать, что происходит, когда сообщения направляются в окно.

Существует три способа для создания дочернего окна MDI:

Перед вызовом метода Create или LoadFrame, необходимо создать объект окно в куче, с помощью оператора new C++. Перед вызовом Create можно также зарегистрировать класс окна с глобальной функции AfxRegisterWndClass для задания значка и класса стилей для кадра.

Используйте функции-члена Create для передачи параметры создания фрейма в качестве непосредственных аргументы.

LoadFrame требуется меньшее число аргументов, чем создатьи вместо этого получает большую часть его значения по умолчанию из ресурсов, включая рамки заголовка, значок, таблицы сочетаний клавиш и меню. Чтобы быть доступной для LoadFrame, все эти ресурсы должны иметь тот же Идентификатор ресурса (например, IDR_MAINFRAME).

Когда объект CMDIChildWnd содержит мнения и документов, они косвенно создаются рамки вместо непосредственно от программиста. Объект CDocTemplate организует создание кадра, создание содержащий мнения и связь представлений в соответствующий документ. Параметры конструктора CDocTemplate укажите CRuntimeClass трех классов, используемых (документ, рамку и вид). Объект CRuntimeClass используется средой для динамического создания новых кадров, когда указанный пользователем (например, с помощью файла новой команды или новые окна MDI).

Фрейм окна производный класс от CMDIChildWnd должны быть объявлены с DECLARE_DYNCREATE для того чтобы выше RUNTIME_CLASS механизм для правильной работы.

CMDIChildWnd наследует большую часть ее реализации по умолчанию от CFrameWnd. Подробный перечень этих функций обратитесь к описанию класса CFrameWnd . Класса CMDIChildWnd имеет следующие дополнительные возможности:

Не используйте оператор delete C++ для уничтожения фрейме окна. Вместо этого следует используйте CWnd::DestroyWindow . Осуществление CFrameWnd PostNcDestroy объект будет удален C++ при уничтожении окна. Когда пользователь закрывает в фрейме окна, Запуск обработчика по умолчанию будет вызывать DestroyWindow.

Более подробную информацию о CMDIChildWnd, см. Фрейм окна темы в Руководстве Visual C++ программист.

# include lt;afxwin.h>

Члены класса |nbsp; Базовый класс | Иерархическая схема

Образцыnbsp; MFC Sample MDI | Образца MFC MDIBIND | Образца MFC MDIDOCVW | Образца SNAPVW MFC

См. также CWnd, CMDIFrameWnd

Index