Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Отправляется в окно, когда указатель покидает диапазон обнаружения по окну (наведите указатель) или когда указатель перемещается за пределы окна.
Окно получает это сообщение через функцию WindowProc.
! [Важно]
Классические приложения должны быть осведомлены о DPI. Если приложение не учитывает DPI, координаты экрана, содержащиеся в сообщениях указателя и связанных структурах, могут отображаться неточными из-за виртуализации DPI. Виртуализация DPI обеспечивает автоматическую поддержку масштабирования приложений, которые не поддерживают DPI и активны по умолчанию (пользователи могут отключить его). Дополнительные сведения см. в записи High-DPI приложений Win32.
#define WM_POINTERLEAVE 0x024A
Параметры
-
wParam
-
Содержит идентификатор указателя и дополнительные сведения. Используйте следующие макросы для получения этих сведений.
- GET_POINTERID_WPARAM(wParam): идентификатор указателя.
- IS_POINTER_INRANGE_WPARAM(wParam): указывает, было ли это сообщение создано указателем, который не оставил диапазон обнаружения. Этот флаг не задан, если указатель покидает диапазон обнаружения окна.
- IS_POINTER_INCONTACT_WPARAM(wParam): флаг, указывающий, создается ли это сообщение указателем, который находится в контакте. Этот флаг не задан для указателя в диапазоне обнаружения (наведите указатель на указатель).
-
lParam
-
Содержит расположение указателя.
Заметка
Так как указатель может связаться с устройством через нетривиальную область, это расположение точки может быть упрощением более сложной области указателя. По возможности приложение должно использовать полные сведения о области указателя вместо расположения точки.
Чтобы получить координаты физического экрана точки, используйте следующие макросы.
- GET_X_LPARAM(lParam): координата x (горизонтальная точка).
- GET_Y_LPARAM(lParam): координата y (вертикальная точка).
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно должно возвращать ноль.
Если приложение не обрабатывает это сообщение, он должен вызывать DefWindowProc.
Замечания
Уведомление WM_POINTERLEAVE может использоваться окном для изменения режима или остановки отзывов пользователя, пока указатель находится на поверхности окна.
Это уведомление отправляется только в окно, которое получает входные данные для указателя. В следующей таблице перечислены некоторые ситуации, в которых отправляется это уведомление.
| Действие | Набор флагов | Уведомления, отправленные в |
|---|---|---|
| Указатель наведения пересекает границы окна. | IS_POINTER_INRANGE_WPARAM | Окно за пределами границы которого перемещен указатель. |
| Указатель выходит из диапазона обнаружения. | N/A | Окно, для которого указатель покидает диапазон обнаружения. |
! [Важно]
Когда окно теряет запись указателя и получает уведомление WM_POINTERCAPTURECHANGED, обычно оно не получит никаких дополнительных уведомлений. По этой причине важно не делать никаких предположений на основе равномерно парных WM_POINTERDOWN/WM_POINTERUP или WM_POINTERENTER/WM_POINTERLEAVE уведомлений.
Если контакт поддерживается с входным дигитайзером и указатель перемещается за пределами окна, WM_POINTERLEAVE не создается. WM_POINTERLEAVE создается, только если указатель наведения пересекает границы окна или контакт завершается.
WM_POINTERLEAVE публикуется в очереди сообщений, если входные данные происходят с устройства мыши.
Требования
| Требование | Ценность |
|---|---|
| Минимальный поддерживаемый клиент |
Windows 8 [только классические приложения] |
| Минимальный поддерживаемый сервер |
Windows Server 2012 [только классические приложения] |
| Заголовок |
|