Функция DefMDIChildProcA (winuser.h)
Обеспечивает обработку по умолчанию для любого сообщения окна, которое не обрабатывается процедурой окна дочернего окна с несколькими документами (MDI). Сообщение окна, не обработанное процедурой window, должно передаваться в функцию DefMDIChildProc , а не в функцию DefWindowProc .
Синтаксис
LRESULT LRESULT DefMDIChildProcA(
[in] HWND hWnd,
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Параметры
[in] hWnd
Тип: HWND
Дескриптор дочернего окна MDI.
[in] uMsg
Тип: UINT
Сообщение, которое нужно обработать.
[in] wParam
Тип: WPARAM
Дополнительные сведения, относящиеся к сообщению.
[in] lParam
Тип: LPARAM
Дополнительные сведения, относящиеся к сообщению.
Возвращаемое значение
Тип: LRESULT
Возвращаемое значение указывает результат обработки сообщения и зависит от сообщения.
Комментарии
Функция DefMDIChildProc предполагает, что родительское окно дочернего окна MDI, определенного параметром hWnd , было создано с помощью класса MDICLIENT .
Если процедура окна приложения не обрабатывает сообщение, обычно оно передается в функцию DefWindowProc для обработки сообщения. Приложения MDI используют функции DefFrameProc и DefMDIChildProc вместо DefWindowProc , чтобы обеспечить обработку сообщений по умолчанию. Все сообщения, которые приложение обычно передает в DefWindowProc (например, неклиентные сообщения и сообщения WM_SETTEXT ), следует передавать в DefMDIChildProc . Кроме того, DefMDIChildProc также обрабатывает следующие сообщения.
Сообщение | Ответ |
---|---|
WM_CHILDACTIVATE | Выполняет обработку активации при размере, перемещении или отображении дочерних окон MDI. Это сообщение должно быть передано. |
WM_GETMINMAXINFO | Вычисляет размер развернутого дочернего окна MDI на основе текущего размера клиентского окна MDI. |
WM_MENUCHAR | Передает сообщение в окно фрейма MDI. |
WM_MOVE | Пересчитывает клиентские полосы прокрутки MDI, если они присутствуют. |
WM_SETFOCUS | Активирует дочернее окно, если оно не является активным дочерним окном MDI. |
WM_SIZE | Выполняет операции, необходимые для изменения размера окна, особенно для максимизации или восстановления дочернего окна MDI. Если не передать это сообщение в функцию DefMDIChildProc , это приводит к крайне нежелательным результатам. |
WM_SYSCOMMAND | Обрабатывает команды меню окна: SC_NEXTWINDOW, SC_PREVWINDOW, SC_MOVE, SC_SIZE и SC_MAXIMIZE. |
Примечание
Заголовок winuser.h определяет DefMDIChildProc в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
См. также раздел
Основные понятия
Интерфейс нескольких документов
Справочные материалы