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


Сообщение WM_NCPOINTERUP

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

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

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

#define WM_NCPOINTERUP               0x0243

Параметры

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)

См. также

Сообщения