Функция DefMDIChildProc предоставляет стандартную обработку для любого окна сообщения, которое не обрабатывает процедура окна дочернего окна интерфейса (MDI). Окно сообщения не обрабатывается процедурой окна должен быть передан функции DefMDIChildProc , не к DefWindowProc функции.
() LRESULT DefMDIChildProc HWND hWnd, / / обработать для дочернего окна MDIUINTuMsg, / / сообщениеWPARAMwParam, / / сначала сообщение параметрLPARAMlParam / / второй параметр message);
Возвращаемое значение указывает результат обработки сообщений и зависит от сообщения.
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. |
nbsp; Windows &NT: требует версии 3.1 или более поздней версии.
Windows:Требует Windows 95 или более поздней версии.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Импорта библиотеки:Используйте user32.lib.
Юникод:В версии Юникода и ANSI в Windows NT.
Обзор интерфейса несколько документов, множество функций интерфейса документ, DefFrameProc, DefWindowProc, WM_CHILDACTIVATE, WM_GETMINMAXINFO, WM_MENUCHAR, WM_MOVE, WM_SETFOCUS, WM_SETTEXT, WM_SIZE, WM_SYSCOMMAND