Интерфейс нескольких документов

[Многим новым и промежуточным пользователям трудно научиться использовать приложения MDI. Поэтому следует рассмотреть другие модели для пользовательского интерфейса. Однако MDI можно использовать для приложений, которые не легко вписываются в существующую модель.]

Многодокументный интерфейс (MDI) — это спецификация, которая определяет пользовательский интерфейс для приложений, которые позволяют пользователю одновременно работать с несколькими документами.

в этом разделе

Раздел Описание
Сведения об интерфейсе нескольких документов Описывает интерфейс нескольких документов.
Использование интерфейса нескольких документов Объясняет, как выполнять задачи, связанные с интерфейсом нескольких документов.
Справочник по MDI Содержит ссылку на API.

Функции MDI

Имя Описание
CreateMDIWindow Создает дочернее окно MDI.
DefFrameProc Обеспечивает обработку по умолчанию для всех оконных сообщений, которые не обрабатываются процедурой окна фрейма MDI. Все сообщения окна, которые не обрабатываются явно процедурой window, должны передаваться в функцию DefFrameProc , а не функцию DefWindowProc .
DefMDIChildProc Обеспечивает обработку по умолчанию для любого сообщения окна, которое не обрабатывается процедурой окна дочернего окна MDI. Сообщение окна, не обработанное процедурой window, должно передаваться в функцию DefMDIChildProc , а не в функцию DefWindowProc .
TranslateMDISysAccel Обрабатывает нажатия клавиш ускорителя для команд меню окна дочерних окон MDI, связанных с указанным окном клиента MDI. Функция преобразует WM_KEYUP и WM_KEYDOWN сообщения в сообщения WM_SYSCOMMAND и отправляет их в соответствующие дочерние окна MDI.

Сообщения MDI

Имя Описание
WM_MDIACTIVATE Отправляется в окно клиента MDI, чтобы указать окну клиента активировать другое дочернее окно MDI.
WM_MDICASCADE Отправляется в окно клиента MDI для размещения всех дочерних окон в каскадном формате.
WM_MDICREATE Отправляется в окно клиента MDI для создания дочернего окна MDI.
WM_MDIDESTROY Отправляется в окно клиента MDI для закрытия дочернего окна MDI.
WM_MDIGETACTIVE Отправляется в окно клиента MDI для получения дескриптора в активное дочернее окно MDI.
WM_MDIICONARRANGE Отправляется в окно клиента MDI, чтобы упорядочить все свернутые дочерние окна MDI. Это не влияет на дочерние окна, которые не свернуты.
WM_MDIMAXIMIZE Отправляется в окно клиента MDI для развертывания дочернего окна MDI. Система изменяет размер дочернего окна, чтобы его клиентская область заполняла клиентское окно. Система помещает значок меню дочернего окна в крайнее правое положение строки меню окна фрейма, а значок восстановления дочернего окна помещает в крайнее левое положение. Система также добавляет текст заголовка дочернего окна к тексту окна фрейма.
WM_MDINEXT Отправляется в окно клиента MDI для активации следующего или предыдущего дочернего окна.
WM_MDIREFRESHMENU Отправляется в окно клиента MDI для обновления меню окна фрейма MDI.
WM_MDIRESTORE Отправляется в окно клиента MDI для восстановления дочернего окна MDI из развернутого или свернутого размера.
WM_MDISETMENU Отправляется в окно клиента MDI для замены всего меню окна фрейма MDI, для замены меню окна фрейма или и того, и другого.
WM_MDITILE Отправляется в окно клиента MDI для упорядочения всех дочерних окон MDI в формате плитки.

Структуры MDI

Имя Описание
MDICREATESTRUCT Содержит сведения о классе, заголовке, владельце, расположении и размере дочернего окна MDI.