Поделиться через


Функция 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

См. также раздел

Основные понятия

DefMDIChildProc

DefWindowProc

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

Справочные материалы

WM_SETTEXT