Функция DefFrameProc обеспечивает обработку значений по умолчанию для любых сообщений окна, которые оконная процедура рамочного окна многодокументного интерфейса (MDI) не обрабатывает. Все сообщения окна, которые явно не обрабатываются оконной процедурой, должны передаться в функцию DefFrameProc, а не функцию DefWindowProc.
Синтаксис
LRESULT DefFrameProc( HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam ); |
Параметры
hWnd
[in] Дескриптор рамочного окна MDI.hWndMDIClient
[in] Дескриптор рабочего окна MDI.uMsg
[in] Устанавливает обрабатываемое сообщение.wParam
[in] Устанавливает дополнительную специальную для сообщения информацию.lParam
[in] Устанавливает дополнительную специальную для сообщения информацию.Возвращаемое значение
Возвращаемое значение устанавливает результат обработки сообщений и зависит от сообщения. Если параметр hWndMDIClient - ПУСТО (NULL), возвращаемое значение является тем же самым, что и от функции DefWindowProc.
Замечания
Когда оконная процедура приложения не обрабатывает сообщение, оно обычно передает сообщение в функцию DefWindowProc, чтобы обработать его. Приложения MDI используют функции DefFrameProc и DefMDIChildProc вместо DefWindowProc, чтобы обеспечить заданную по умолчанию обработку сообщений. Все сообщения, которые программа обычно передает в DefWindowProc (такие как не клиентские сообщения и сообщение WM_SETTEXT), вместо этого должны передаваться в DefFrameProc. Функция DefFrameProc также обрабатывает и ниже перечисленные сообщения.
Сообщение Ответное действие WM_COMMAND Активизирует дочернее окно MDI, которое выбрал пользователь. Это сообщение отправляется в процедуру тогда, когда пользователь выбрал дочернее окно MDI в Системном меню рамочного окна MDI. Идентификатор окна, сопровождающий это сообщение идентифицирует дочернее окно MDI, которое становиться активным. WM_MENUCHAR Открывает системное меню активного дочернего окна MDI, когда пользователь нажимает комбинация клавиш ALT + - (минус). WM_SETFOCUS Передает фокус клавиатуры в рабочее окно MDI, которое в свою очередь переправляет его в активное дочернее окно MDI. WM_SIZE Изменяет размеры рабочего окна MDI, чтобы соответствовать рабочей области нового рамочного окна. Если процедура рамочного окна устанавливает размеры рабочего окна MDI в другой размер, оно не должно передавать сообщение в функцию DefWindowProc.
Windows 95/98/Me: DefFrameProcW поддерживается программой Microsoft Layer for Unicode (MSLU). Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.
Смотри также
Обзор Многодокументный интерфейс, Функции, используемые MDI, DefMDIChildProc, DefWindowProc, WM_SETTEXT
Размещение и совместимость DefFrameProc |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
User32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |