Прочитать на английском

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


сообщение WM_NCXBUTTONUP

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

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

#define WM_NCXBUTTONUP                  0x00AC

Параметры

wParam

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

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

Значение Значение
XBUTTON1
0x0001
Выпущена первая кнопка X.
XBUTTON2
0x0002
Выпущена вторая кнопка X.

lParam

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

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

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

Замечания

Используйте следующий код, чтобы получить сведения в параметре 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_NCМБ UTTONUP и WM_NCRBUTTONUP сообщений приложение должно возвращать значение TRUE из этого сообщения, если он обрабатывает его. Это позволит программному обеспечению, которое имитирует это сообщение в системах Windows раньше, чем Windows 2000, чтобы определить, обработана ли процедура окна сообщение или с именем DefWindowProc для обработки.

Requirements

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

См. также

Ссылка

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDBLCLK

WM_NCXBUTTONDOWN

WM_SYSCOMMAND

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

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

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

MAKEPOINTS

ТОЧКИ