сообщение WM_PARENTNOTIFY
Отправляется в окно, когда значительное действие происходит в окне потомка. Теперь это сообщение расширено для включения события WM_POINTERDOWN. При создании дочернего окна система отправляет WM_PARENTNOTIFY непосредственно перед функцией CreateWindow или CreateWindowEx, которая создает окно. При уничтожении дочернего окна система отправляет сообщение перед любой обработкой, чтобы уничтожить окно.
Окно получает это сообщение через функцию WindowProc .
Важно!
Классические приложения должны быть осведомлены о DPI. Если приложение не учитывает DPI, координаты экрана, содержащиеся в сообщениях указателя и связанных структурах, могут отображаться неточными из-за виртуализации DPI. Виртуализация DPI обеспечивает автоматическую поддержку масштабирования приложений, которые не поддерживают DPI и активны по умолчанию (пользователи могут отключить его). Дополнительные сведения см. в статье "Написание приложений Win32 с высоким уровнем DPI".
#define WM_PARENTNOTIFY 0x0210
Параметры
-
wParam
-
Слово с низким порядком wParam указывает событие, для которого родитель уведомляется. Значение слова высокого порядка зависит от значения слова с низким порядком. Этот параметр может принимать одно из указанных ниже значений.
LOWORD(wParam) Значение - WM_CREATE
- 0x0001
Создается дочернее окно.
HIWORD(wParam) — это идентификатор дочернего окна.
lParam — это дескриптор дочернего окна.- WM_DESTROY
- 0x0002
Дочернее окно уничтожается.
HIWORD(wParam) — это идентификатор дочернего окна.
lParam — это дескриптор дочернего окна.- WM_LBUTTONDOWN
- 0x0201
Пользователь поместил курсор в дочернее окно и щелкнул левую кнопку мыши.
HIWORD(wParam) не определен.
lParam — это координата x курсора — это слово с низким порядком, а координата y курсора — это слово с высоким порядком.- WM_МБ UTTONDOWN
- 0x0207
Пользователь поместил курсор в дочернее окно и щелкнул посередине кнопку мыши.
HIWORD(wParam) не определен.
lParam — это координата x курсора — это слово с низким порядком, а координата y курсора — это слово с высоким порядком.- WM_RBUTTONDOWN
- 0x0204
Пользователь поместил курсор в дочернее окно и щелкнул правую кнопку мыши.
HIWORD(wParam) не определен.
lParam — это координата x курсора — это слово с низким порядком, а координата y курсора — это слово с высоким порядком.- WM_XBUTTONDOWN
- 0x020B
Пользователь поместил курсор в дочернее окно и щелкнул первую или вторую кнопку X.
HIWORD(wParam) указывает, какая кнопка была нажата. Этот параметр может быть одним из следующих значений: XBUTTON1 или XBUTTON2.
lParam — это координата x курсора — это слово с низким порядком, а координата y курсора — это слово с высоким порядком.- WM_POINTERDOWN
- 0x0246
Указатель связался с дочерним окном.
HIWORD(wParam) содержит идентификатор указателя, создающего событие WM_POINTERDOWN . -
lParam
-
Содержит расположение указателя.
Примечание.
Так как указатель может связаться с устройством через нетривиальную область, это расположение точки может быть упрощением более сложной области указателя. По возможности приложение должно использовать полные сведения о области указателя вместо расположения точки.
Чтобы получить координаты физического экрана точки, используйте следующие макросы.
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно возвращает ноль.
Если приложение не обрабатывает это сообщение, он вызывает DefWindowProc.
Замечания
Это сообщение также отправляется во все окна предков дочернего окна, включая окно верхнего уровня.
Все дочерние окна, кроме тех, которые имеют WS_EX_NOPARENTNOTIFY расширенный стиль окна, отправьте это сообщение в родительские окна. По умолчанию дочерние окна в диалоговом окне имеют стиль WS_EX_NOPARENTNOTIFY, если только функция CreateWindowEx не вызывается для создания дочернего окна без этого стиля.
Это уведомление предоставляет окна предка дочернего окна возможность проверить сведения указателя и при необходимости записать указатель с помощью функций отслеживания указателя.
Requirements
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 8 [только классические приложения] |
Минимальная версия сервера |
Windows Server 2012 [только классические приложения] |
Верхний колонтитул |
|