сообщение WM_NCXBUTTONDOWN
Опубликовано, когда пользователь нажимает XBUTTON1 или XBUTTON2, пока курсор находится в неклиентной области окна. Это сообщение публикуется в окне, содержащее курсор. Если окно захватило мышь, это сообщение не опубликовано.
Окно получает это сообщение через функцию WindowProc.
#define WM_NCXBUTTONDOWN 0x00AB
Параметры
-
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_NCLBUTTONDOWN, WM_NCMBUTTONDOWNи WM_NCRBUTTONDOWN сообщений приложение должно возвращать TRUE из этого сообщения, если он обрабатывает его. Это позволит программному обеспечению, которое имитирует это сообщение в системах Windows до Windows 2000, чтобы определить, обработана ли процедура окна сообщение или вызвана DefWindowProc для его обработки.
Требования
Требование | Ценность |
---|---|
Минимальный поддерживаемый клиент |
Windows 2000 Профессиональный [только классические приложения] |
Минимальный поддерживаемый сервер |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
См. также
-
Справочник
-
концептуальные
-
другие ресурсы