Функция DefFrameProcA (winuser.h)
Обеспечивает обработку по умолчанию для любых оконных сообщений, которые не обрабатываются процедурой окна фрейма многодокументного интерфейса (MDI). Все сообщения окна, которые не обрабатываются явно процедурой window, должны передаваться в функцию DefFrameProc , а не функцию DefWindowProc .
Синтаксис
LRESULT DefFrameProcA(
[in] HWND hWnd,
[in] HWND hWndMDIClient,
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Параметры
[in] hWnd
Тип: HWND
Дескриптор окна фрейма MDI.
[in] hWndMDIClient
Тип: HWND
Дескриптор окна клиента MDI.
[in] uMsg
Тип: UINT
Сообщение, которое нужно обработать.
[in] wParam
Тип: WPARAM
Дополнительные сведения, относящиеся к сообщению.
[in] lParam
Тип: LPARAM
Дополнительные сведения, относящиеся к сообщению.
Возвращаемое значение
Тип: LRESULT
Возвращаемое значение указывает результат обработки сообщения и зависит от сообщения. Если параметр 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 . |
Примечание
Заголовок winuser.h определяет DefFrameProc как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
См. также раздел
Основные понятия
Интерфейс нескольких документов
Справочные материалы