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


сообщение 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

Содержит расположение указателя.

Примечание.

Так как указатель может связаться с устройством через нетривиальную область, это расположение точки может быть упрощением более сложной области указателя. По возможности приложение должно использовать полные сведения о области указателя вместо расположения точки.

Чтобы получить координаты физического экрана точки, используйте следующие макросы.

  • GET_X_LPARAM(lParam): координата x (горизонтальная точка).
  • GET_Y_LPARAM(lParam): координата y (вертикальная точка).

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

Если приложение обрабатывает это сообщение, оно возвращает ноль.

Если приложение не обрабатывает это сообщение, он вызывает DefWindowProc.

Замечания

Это сообщение также отправляется во все окна предков дочернего окна, включая окно верхнего уровня.

Все дочерние окна, кроме тех, которые имеют WS_EX_NOPARENTNOTIFY расширенный стиль окна, отправьте это сообщение в родительские окна. По умолчанию дочерние окна в диалоговом окне имеют стиль WS_EX_NOPARENTNOTIFY, если только функция CreateWindowEx не вызывается для создания дочернего окна без этого стиля.

Это уведомление предоставляет окна предка дочернего окна возможность проверить сведения указателя и при необходимости записать указатель с помощью функций отслеживания указателя.

Requirements

Требование Значение
Минимальная версия клиента
Windows 8 [только классические приложения]
Минимальная версия сервера
Windows Server 2012 [только классические приложения]
Верхний колонтитул
Winuser.h (включая Windows.h)

См. также

Сообщения

CreateWindow

CreateWindowEx

HIWORD

LOWORD

WM_CREATE

WM_DESTROY

WM_LBUTTONDOWN

WM_МБ UTTONDOWN

WM_RBUTTONDOWN

WM_XBUTTONDOWN