Функция DefMDIChildProcA (winuser.h)
Предоставляет обработку по умолчанию для любого сообщения окна, что процедура окна дочернего окна с несколькими документами (MDI) не обрабатывается. Сообщение окна, не обработанное процедурой окна, должно быть передано функции 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 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winuser.h (включая Windows.h) |
библиотеки |
User32.lib |
DLL | User32.dll |
См. также
концептуальные
нескольких интерфейсов документов
Справочник