сообщение WM_XBUTTONDBLCLK
Опубликовано, когда пользователь дважды щелкает первую или вторую кнопку X, пока курсор находится в клиентской области окна. Если мышь не захвачена, сообщение будет размещено в окне под курсором. В противном случае сообщение публикуется в окне, которое захватило мышь.
Окно получает это сообщение через функцию WindowProc .
#define WM_XBUTTONDBLCLK 0x020D
Параметры
-
wParam
-
Слово с низким порядком указывает, отключены ли различные виртуальные ключи. Это может быть одно или несколько следующих значений.
Значение Значение - MK_CONTROL
- 0x0008
Клавиша CTRL вниз. - MK_LBUTTON
- 0x0001
Левая кнопка мыши вниз. - MK_МБ UTTON
- 0x0010
Средняя кнопка мыши вниз. - MK_RBUTTON
- 0x0002
Правая кнопка мыши вниз. - MK_SHIFT
- 0x0004
Клавиша SHIFT вниз. - MK_XBUTTON1
- 0x0020
Первая кнопка X вниз. - MK_XBUTTON2
- 0x0040
Вторая кнопка X вниз. Слово с высоким порядком указывает, какая кнопка была дважды щелкаема. Может быть одним из указанных далее.
Значение Значение - XBUTTON1
- 0x0001
Первая кнопка X была дважды щелкаема. - XBUTTON2
- 0x0002
Вторая кнопка X дважды щелкалась. -
lParam
-
Слово с низким порядком указывает координату x курсора. Координата относительно левого верхнего угла клиентской области.
Слово с высоким порядком задает координату курсора y. Координата относительно левого верхнего угла клиентской области.
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно должно возвращать значение TRUE. Дополнительные сведения об обработке возвращаемого значения см. в разделе "Примечания".
Замечания
Используйте следующий код, чтобы получить сведения в параметре wParam :
fwKeys = GET_KEYSTATE_WPARAM (wParam);
fwButton = GET_XBUTTON_WPARAM (wParam);
Используйте следующий код для получения горизонтальной и вертикальной позиции:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
Как отмечалось выше, координата x находится в низком порядке, чем возвращаемое значение; координата y находится в коротком формате высокого порядка (оба представляют подписанные значения, так как они могут принимать отрицательные значения в системах с несколькими мониторами). Если возвращаемое значение назначено переменной, можно использовать макрос MAKEPOINTS для получения структуры POINTS из возвращаемого значения. Вы также можете использовать макрос GET_X_LPARAM или GET_Y_LPARAM для извлечения координат x-или y.
Важно!
Не используйте макросы LOWORD или HIWORD для извлечения координат x-и y позиции курсора, так как эти макросы возвращают неверные результаты в системах с несколькими мониторами. Системы с несколькими мониторами могут иметь отрицательные координаты x и y, а LOWORD и HIWORD обрабатывают координаты как неподписанные количества.
Только окна с стилем CS_DBLCLKS могут получать WM_XBUTTONDBLCLK сообщения, которые система создает всякий раз, когда пользователь нажимает, освобождает и снова нажимает кнопку X в пределах ограничения времени двойного щелчка мыши системы. Дважды щелкнув одну из этих кнопок, на самом деле создает четыре сообщения: WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLK и еще раз WM_XBUTTONUP.
В отличие от WM_LBUTTONDBLCLK, WM_МБ UTTONDBLCLK и WM_RBUTTONDBLCLK сообщений приложение должно возвращать значение TRUE из этого сообщения, если он обрабатывает его. Это позволит программному обеспечению, которое имитирует это сообщение в системах Windows раньше, чем Windows 2000, чтобы определить, обработана ли процедура окна сообщение или с именем DefWindowProc для обработки.
Requirements
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Верхний колонтитул |
|
См. также
-
Ссылка
-
Концептуальной
-
Другие ресурсы