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


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

См. также

концептуальные

DefFrameProc

DefWindowProc

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

Справочник

WM_CHILDACTIVATE

WM_GETMINMAXINFO

WM_MENUCHAR

WM_MOVE

WM_SETFOCUS

WM_SETTEXT

WM_SIZE

WM_SYSCOMMAND