Функция DefMDIChildProc


Функция DefMDIChildProc обеспечивает обработку значений по умолчанию для любого сообщения окна, которое оконная процедура дочернего окна многодокументного интерфейса (MDI) не обрабатывает. Сообщение окна, не обработанное оконной процедурой должно передаваться в функцию DefMDIChildProc, а не в функцию DefWindowProc.

Синтаксис

LRESULT DefMDIChildProc(      
    HWND hWnd,
    UINT uMsg,
    WPARAM wParam,
    LPARAM lParam
);

Параметры

hWnd

[in] Дескриптор дочернего окна MDI.

uMsg

[in] Устанавливает обрабатываемое сообщение.

wParam

[in] Устанавливает дополнительную специальную для сообщения информацию.

lParam

[in] Устанавливает дополнительную специальную для сообщения информацию.

Возвращаемое значение

Возвращаемое значение определяет результат обработки сообщений и зависит от сообщения.

Замечания

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

Windows 95/98/Me: DefMDIChildProcW поддерживается программой Microsoft Layer for Unicode (MSLU). Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.

Смотри также

Обзор Многодокументный интерфейс, Функции, используемые MDI, DefFrameProcDefWindowProc WM_CHILDACTIVATE, WM_GETMINMAXINFO, WM_MENUCHAR, WM_MOVE, WM_SETFOCUS, WM_SETTEXT, WM_SIZE, WM_SYSCOMMAND

Размещение и совместимость DefMDIChildProc

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На главную страницу справки 

Hosted by uCoz