Написание процедуры окна кадра

В процедуру окна для окна MDI аналогична главного окна приложения MDI. Разница заключается в процедуре окна кадра передает все сообщения, которые не обрабатываются в функцию DefFrameProc , а не к функции DefWindowProc . Кроме того процедура окна кадра необходимо также передать некоторые сообщения, которые он обрабатывает, включая те, которые перечислены в следующей таблице.

Сообщение Ответ
WM_COMMAND Активирует дочернего окна MDI, которое выбирает пользователь. Это сообщение посылается, когда пользователь выбирает дочернее окно MDI из меню окно фрейма окна интерфейса MDI. Идентификатор окна, сопровождающих это сообщение идентифицирует дочернего окна MDI будет активирована.
WM_MENUCHAR Открывает меню окно активного дочернего окна MDI Происходит когда пользователь нажимает alt +-(минус) сочетание клавиш.
WM_SETFOCUS Передает фокус клавиатуры в окне клиента MDI, которое в свою очередь, передает их в активную дочернюю MDI.
WM_SIZE Изменяет размер окна клиента MDI в новом фрейме окна клиентской области. Если процедура окна кадра изменяет размер окна клиента MDI для другого размера, его не следует передавать сообщение в функции DefWindowProc.

Процедура окна кадра в Multipad называется MPFrameWndProc. Обработка других сообщений по MPFrameWndProc аналогична приложений MDI. Сообщения WM_COMMAND в Multipad обрабатываются локально определенные функции CommandHandler. Для команды сообщений, которые Multipad не обрабатывает CommandHandler вызывает функцию DefFrameProc . Если Multipad не использует DefFrameProc по умолчанию, пользователь может активировать дочернего окна из меню окно , поскольку сообщения WM_COMMAND, щелкнув пункт меню окна будут потеряны.

Index