Сообщение WM_NCPOINTERUPDATE

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

Если окно захватило этот указатель, это сообщение не публикуется. Вместо этого WM_POINTERUPDATE размещается в окне, которое захватило этот указатель.

Важно!
Классические приложения должны быть осведомлены о DPI. Если приложение не учитывает DPI, координаты экрана, содержащиеся в сообщениях указателя и связанных структурах, могут отображаться неточными из-за виртуализации DPI. Виртуализация DPI обеспечивает автоматическую поддержку масштабирования приложений, которые не поддерживают DPI и активны по умолчанию (пользователи могут отключить его). Дополнительные сведения см. в статье "Написание приложений Win32 с высоким уровнем DPI".

#define WM_NCPOINTERUPDATE                 0x0241

Параметры

wParam

Содержит идентификатор указателя и дополнительные сведения. Используйте следующие макросы для получения этих сведений.

GET_POINTERID_WPARAM(wParam): идентификатор указателя

HIWORD(wParam): значение hit-test, возвращаемое из обработки сообщения WM_NCHITTEST .

lParam

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

Примечание.

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

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

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

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

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

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

Замечания

Если приложение не обрабатывает это сообщение, DefWindowProc может выполнять одно или несколько системных действий в зависимости от результата хит-теста, включенного в сообщение. Как правило, приложениям не нужно обрабатывать это сообщение.

Requirements

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

См. также

Сообщения