сообщение 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 [только классические приложения] |
Верхний колонтитул |
|
См. также
-
Ссылка
-
Концептуальной
-
Другие ресурсы