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


сообщение WM_NCXBUTTONDBLCLK

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

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

#define WM_NCXBUTTONDBLCLK              0x00AD

Параметры

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 .

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

В отличие от WM_NCLBUTTONDBLCLK, WM_NCМБ UTTONDBLCLK и WM_NCRBUTTONDBLCLK сообщений приложение должно возвращать значение 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_NCXBUTTONDOWN

WM_NCXBUTTONUP

WM_SYSCOMMAND

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

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

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

MAKEPOINTS

ТОЧКИ