Сообщение WM_XBUTTONDBLCLK посылается, когда пользователь щелкает два раза первой или второй X-кнопкой, в то время, когда курсор находится в рабочей области окна. Если мышь не захвачена, сообщение посылается в окно под курсором. В противном случае, сообщение помещается в окно, которое захватило мышь.
Окно получает это сообщение через посредство своей функции WindowProc.
Синтаксис
|
Параметры
wParam
Младшее слово указывает, находятся ли какие-либо виртуальные клавиши в нажатом состоянии. Оно может состоять из одного или нескольких ниже перечисленных значений.
| Значение | Предназначение |
| MK_CONTROL | Клавиша CTRL находится в нажатом состоянии. |
| MK_MBUTTON | Средняя кнопка мыши находится в нажатом состоянии. |
| MK_RBUTTON | Правая кнопка мыши находится в нажатом состоянии. |
| MK_SHIFT | Клавиша SHIFT находится в нажатом состоянии. |
| MK_XBUTTON1 | Первая X-кнопка находится в нажатом состоянии. |
| MK_XBUTTON2 | Вторая X-кнопка находится в нажатом состоянии. |
Старшее слово указывает, какая кнопка производила двойной щелчок. Оно может быть одним из ниже перечисленных значений.
| Значение | Предназначение |
|---|---|
| XBUTTON1 | Двойной щелчок производила первая X-кнопка. |
| XBUTTON2 | Двойной щелчок производила вторая X-кнопка. |
Младшее слово устанавливает x-координату курсора. Координата - относительно левого верхнего угла рабочей области.
Старшее слово устанавливает y-координату курсора. Координата - относительно левого верхнего угла рабочей области.
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно должно возвратить значение ИСТИНА (TRUE). Дополнительную информацию об обработке возвращаемого значения, см. раздел Замечания.
Замечания
fwKeys = GET_KEYSTATE_WPARAM (wParam); fwButton = GET_XBUTTON_WPARAM (wParam); |
Используйте нижеследующий код, чтобы получить горизонтальную и вертикальную позицию:
xPos = GET_X_LPARAM(lParam); yPos = GET_Y_LPARAM(lParam); |
Вы можете также использовать и макрос MAKEPOINTS, чтобы преобразовать параметр lParam в структуру POINTS.
Только окна, которые имеют стиль CS_DBLCLKS, могут получить сообщения WM_XBUTTONDBLCLK, которые, система создает всякий раз, когда пользователь нажимает, отпускает и снова нажимают X-кнопку в пределах ограничения времени дя двойного щелчка системой. Двойной щелчок одной из этих кнопок фактически создает четыре сообщения: WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLK и снова WM_XBUTTONUP.
В отличие от сообщения WM_LBUTTONDBLCLK, WM_MBUTTONDBLCLK и WM_RBUTTONDBLCLK, приложение должно возвратить значение ИСТИНА (TRUE) от этого сообщения, если обрабатывает его. Такое выполнение даст возможность программе, которая моделирует это сообщение в системах Microsoft ® Windows ® раньше чем Windows 2000, выяснить, или оконная процедура обрабатывала сообщение или вызвалась функция DefWindowProc, чтобы обработать его.
Смотри также
Обзор Ввод данных от мыши, Уведомления, используемые мышью, DefWindowProc, GET_KEYSTATE_WPARAM, GET_X_LPARAM, GET_XBUTTON_WPARAM, GET_Y_LPARAM, GetCapture, GetDoubleClickTime, MAKEPOINTS, POINTS, SetDoubleClickTime, WM_NCHITTEST, WM_XBUTTONDOWN, WM_XBUTTONUP, WM_SYSCOMMAND
|
Размещение и совместимость WM_XBUTTONDBLCLK |
|
|
Windows. NET Server |
Да |
|
Windows XP |
Да |
|
Windows 2000 |
Да |
|
Windows NT |
Нет |
|
Windows Me |
Да |
|
Windows 98 |
Нет |
|
Windows 95 |
Нет |
|
Минимальная версия DLL |
Нет |
|
Заголовочный файл |
|
|
- объявлено в |
Winuser.h |
|
- включено в |
Windows.h |
|
Unicode |
Нет |
|
Замечания по платформе |
Не имеется |