Сообщение WM_XBUTTONDBLCLK посылается, когда пользователь щелкает два раза первой или второй X-кнопкой, в то время, когда курсор находится в рабочей области окна. Если мышь не захвачена, сообщение посылается в окно под курсором. В противном случае, сообщение помещается в окно, которое захватило мышь.
Окно получает это сообщение через посредство своей функции WindowProc.
Синтаксис
WM_XBUTTONDBLCLK WPARAM wParam LPARAM lParam; |
Параметры
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 |
Нет |
Замечания по платформе |
Не имеется |