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


сообщение WM_NCXBUTTONDBLCLK

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

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

#define WM_NCXBUTTONDBLCLK              0x00AD

Параметры

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.

В окне нет стиля CS_DBLCLKS для получения WM_NCXBUTTONDBLCLK сообщений. Система создает сообщение WM_NCXBUTTONDBLCLK, когда пользователь нажимает, освобождает и снова нажимает XBUTTON в пределах ограничения времени двойного щелчка мыши системы. Дважды щелкнув одну из этих кнопок, на самом деле создает четыре сообщения: WM_NCXBUTTONDOWN, WM_NCXBUTTONUP, WM_NCXBUTTONDBLCLKи WM_NCXBUTTONUP снова.

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

Требования

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

См. также

Справочник

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDOWN

WM_NCXBUTTONUP

WM_SYSCOMMAND

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

ввод мыши

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

MAKEPOINTS

ТОЧКИ