сообщение WM_XBUTTONUP
Опубликовано, когда пользователь освобождает XBUTTON1 или XBUTTON2, пока курсор находится в клиентской области окна. Если мышь не захвачена, сообщение будет размещено в окне под курсором. В противном случае сообщение публикуется в окне, которое захватило мышь.
Окно получает это сообщение через функцию WindowProc.
#define WM_XBUTTONUP 0x020C
Параметры
-
wParam
-
Слово с низким порядком указывает, отключены ли различные виртуальные ключи. Это может быть одно или несколько следующих значений.
Ценность Значение - MK_CONTROL
- 0x0008
Клавиша CTRL вниз. - MK_LBUTTON
- 0x0001
Левая кнопка мыши вниз. - MK_MBUTTON
- 0x0010
Средняя кнопка мыши вниз. - MK_RBUTTON
- 0x0002
Правая кнопка мыши вниз. - MK_SHIFT
- 0x0004
Клавиша SHIFT вниз. - MK_XBUTTON1
- 0x0020
XBUTTON1 вниз. - MK_XBUTTON2
- 0x0040
XBUTTON2 вниз. Слово высокого порядка указывает, какая кнопка была выпущена. Это может быть одно из следующих значений:
Ценность Значение - XBUTTON1
- 0x0001
Выпущена XBUTTON1. - XBUTTON2
- 0x0002
Выпущена XBUTTON2. -
lParam
-
Слово с низким порядком указывает координату x курсора. Координата относительно левого верхнего угла клиентской области.
Слово с высоким порядком задает координату курсора y. Координата относительно левого верхнего угла клиентской области.
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно должно возвращать TRUE. Дополнительные сведения об обработке возвращаемого значения см. в разделе "Примечания".
Замечания
Windows поддерживает мыши с пятью кнопками: слева, серединой и справа, а также двумя дополнительными кнопками, называемыми XBUTTON1 и XBUTTON2. Кнопки XBUTTON1 и XBUTTON2 часто расположены на стороне мыши рядом с базой. Эти дополнительные кнопки не присутствуют на всех мышах. При наличии кнопки XBUTTON1 и XBUTTON2 часто сопоставляются с функцией приложения, например переадресации вперед и назад в веб-браузере.
Используйте следующий код, чтобы получить сведения в параметре wParam:
fwKeys = GET_KEYSTATE_WPARAM (wParam);
fwButton = GET_XBUTTON_WPARAM (wParam);
Используйте следующий код для получения горизонтальной и вертикальной позиции:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
Как отмечалось выше, координата x находится в низком порядке
Важный
Не используйте loWORD или макросы HIWORD для извлечения координат курсора x-и y, так как эти макросы возвращают неверные результаты в системах с несколькими мониторами. Системы с несколькими мониторами могут иметь отрицательные координаты x и y, а LOWORD и HIWORD рассматривать координаты как неподписанные количества.
В отличие от WM_LBUTTONUP, WM_MBUTTONUPи WM_RBUTTONUP сообщений приложение должно возвращать TRUE из этого сообщения, если он обрабатывает его. Это позволит программному обеспечению, которое имитирует это сообщение в системах Windows до Windows 2000, чтобы определить, обработана ли процедура окна сообщение или вызвана DefWindowProc для его обработки.
Требования
Требование | Ценность |
---|---|
Минимальный поддерживаемый клиент |
Windows 2000 Профессиональный [только классические приложения] |
Минимальный поддерживаемый сервер |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
См. также
-
Справочник
-
концептуальные
-
другие ресурсы