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


сообщение WM_MBUTTONUP

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

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

#define WM_MBUTTONUP                    0x0208

Параметры

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 вниз.

lParam

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

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

Обратите внимание, что при наличии контекстного меню (отображается) координаты относительно экрана, а не клиентской области. Так как TrackPopupMenu является асинхронным вызовом, а уведомление WM_MBUTTONUP не имеет специального флага, указывающего на производность координат, приложение не может определить, содержатся ли координаты x,y, содержащиеся в lParam относительно экрана или клиентской области.

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

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

Замечания

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

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

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

Важный

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент
Windows 2000 Профессиональный [только классические приложения]
Минимальный поддерживаемый сервер
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windowsx.h)

См. также

Справочник

GET_X_LPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_MBUTTONDBLCLK

WM_MBUTTONDOWN

концептуальные

ввод мыши

другие ресурсы

MAKEPOINTS

ТОЧКИ