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


сообщение WM_MOUSEHOVER

Размещено в окне при наведении курсора на клиентную область окна в течение определенного периода времени, указанного в предыдущем вызове TrackMouseEvent.

Окно получает это сообщение через функцию WindowProc .

#define WM_MOUSEHOVER                   0x02A1

Параметры

wParam

Указывает, отключены ли различные виртуальные ключи. Этот параметр может быть одним или несколькими из следующих значений.

Значение Значение
MK_CONTROL
0x0008
Клавиша CTRL удручается.
MK_LBUTTON
0x0001
Левая кнопка мыши удручается.
MK_МБ UTTON
0x0010
Средняя кнопка мыши удручается.
MK_RBUTTON
0x0002
Правая кнопка мыши удручается.
MK_SHIFT
0x0004
Клавиша SHIFT удручается.
MK_XBUTTON1
0x0020
Первая кнопка X вниз.
MK_XBUTTON2
0x0040
Вторая кнопка X вниз.

lParam

Слово с низким порядком указывает координату x курсора. Координата относительно левого верхнего угла клиентской области.

Слово с высоким порядком задает координату курсора y. Координата относительно левого верхнего угла клиентской области.

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

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

Замечания

Отслеживание наведения указателя мыши останавливается при создании WM_MOUSEHOVER . Приложение должно снова вызвать TrackMouseEvent , если требуется дальнейшее отслеживание поведения наведения мыши.

Используйте следующий код для получения горизонтальной и вертикальной позиции:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Как отмечалось выше, координата x находится в низком порядке, чем возвращаемое значение; координата y находится в коротком формате высокого порядка (оба представляют подписанные значения, так как они могут принимать отрицательные значения в системах с несколькими мониторами). Если возвращаемое значение назначено переменной, можно использовать макрос MAKEPOINTS для получения структуры POINTS из возвращаемого значения. Вы также можете использовать макрос GET_X_LPARAM или GET_Y_LPARAM для извлечения координат x-или y.

Важно!

Не используйте макросы LOWORD или HIWORD для извлечения координат x-и y позиции курсора, так как эти макросы возвращают неверные результаты в системах с несколькими мониторами. Системы с несколькими мониторами могут иметь отрицательные координаты x и y, а LOWORD и HIWORD обрабатывают координаты как неподписанные количества.

Requirements

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

См. также

Ссылка

GET_X_LPARAM

GET_Y_LPARAM

GetCapture

SetCapture

TrackMouseEvent

TRACKMOUSEEVENT

Концептуальной

Ввод с помощью мыши

Другие ресурсы

MAKEPOINTS

ТОЧКИ