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


сообщение WM_NCXBUTTONUP

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

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

#define WM_NCXBUTTONUP                  0x00AC

Параметры

wParam

Слово с низким порядком указывает значение hit-test, возвращаемое функцией DefWindowProc от обработки сообщения WM_NCHITTEST. Список значений хит-теста см. в WM_NCHITTEST.

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

Ценность Значение
XBUTTON1
0x0001
Выпущена XBUTTON1.
XBUTTON2
0x0002
Выпущена XBUTTON2.

lParam

Указатель на структуру POINT, содержащую координаты X и Y курсора. Координаты относительно левого верхнего угла экрана.

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

Если приложение обрабатывает это сообщение, оно должно возвращать TRUE. Дополнительные сведения об обработке возвращаемого значения см. в разделе "Примечания".

Замечания

Windows поддерживает мыши с пятью кнопками: слева, серединой и справа, а также двумя дополнительными кнопками, называемыми XBUTTON1 и XBUTTON2. Кнопки XBUTTON1 и XBUTTON2 часто расположены на стороне мыши рядом с базой. Эти дополнительные кнопки не присутствуют на всех мышах. При наличии кнопки XBUTTON1 и XBUTTON2 часто сопоставляются с функцией приложения, например переадресации вперед и назад в веб-браузере.

Используйте следующий код, чтобы получить сведения в параметре wParam.

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

Можно также использовать следующий код, чтобы получить координаты x и y из lParam:

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

Важный

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

По умолчанию функция DefWindowProc проверяет указанную точку, чтобы получить положение курсора и выполнить соответствующее действие. При необходимости он отправляет в окно сообщение WM_SYSCOMMAND.

В отличие от WM_NCLBUTTONUP, WM_NCMBUTTONUPи WM_NCRBUTTONUP сообщений приложение должно возвращать TRUE из этого сообщения, если он обрабатывает его. Это позволит программному обеспечению, которое имитирует это сообщение в системах Windows до Windows 2000, чтобы определить, обработана ли процедура окна сообщение или вызвана DefWindowProc для его обработки.

Требования

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

См. также

Справочник

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDBLCLK

WM_NCXBUTTONDOWN

WM_SYSCOMMAND

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

ввод мыши

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

MAKEPOINTS

ТОЧКИ