Здравствуйте! 
Пытаюсь в SetTableNotificationCallback научить различать различные события, такие как:
- одиночное нажатие мышки
- двойное нажатие мышки
- одиночное нажатие мышки с нажатой кнопкой Ctrl
- двойное нажатие мышки с нажатой кнопкой Ctrl
Пока возникают проблемы, и не могу понять, как их обойти. Может кто-то поделится опытом?
Сначала про мышку:
Как описывалось в теме
при двойном нажатии срабатывает сразу серия событий
QTABLE_LBUTTONDOWN
QTABLE_LBUTTONUP
QTABLE_LBUTTONDBLCLK
QTABLE_LBUTTONUP
Это крайне неудобно, потому что если на одиночный клик совершается какое-то действие, то при двойном щелчке приходится это действие отменять.
Я не специалист по Windows, но в ее настройках, есть параметр, отвечающий за скорость двойного нажатия мышки. Почему бы в QLUA не использовать этот параметр, и не проверять сначала, было ли двойное нажатие мышки, или одиночное, и уже потом возвращать окончательное событие - ОДНО.
Это как пожелание к доработке.
Второе: по поводу нажатия клавиш. Например нужно обработать событие
- одиночное нажатие мышки с нажатой кнопкой Ctrl
Кое как я выкрутился из положения, и как только нажимается Ctrl записываю в переменную значение, что нажата Ctrl. И все дальнейшие события обрабатываю с учетом того, то Ctrl нажата. Проблема в том, что если нажать Ctrl и потом сразу отпустить, то при отпускании никакого события не срабатывает, и систем продолажет помнить, что Ctrl нажата. И следующее событие обрабатывает, как будто Ctrl нажата, хотя она давно отпущена.
Просьба доработать этот вопрос каким-нибудь образом.
Хотя бы сделать возврат события "отпущена клавиша", как это сделано с кнопкой мышки.
				Пытаюсь в SetTableNotificationCallback научить различать различные события, такие как:
- одиночное нажатие мышки
- двойное нажатие мышки
- одиночное нажатие мышки с нажатой кнопкой Ctrl
- двойное нажатие мышки с нажатой кнопкой Ctrl
Пока возникают проблемы, и не могу понять, как их обойти. Может кто-то поделится опытом?
Сначала про мышку:
Как описывалось в теме
при двойном нажатии срабатывает сразу серия событий
QTABLE_LBUTTONDOWN
QTABLE_LBUTTONUP
QTABLE_LBUTTONDBLCLK
QTABLE_LBUTTONUP
Это крайне неудобно, потому что если на одиночный клик совершается какое-то действие, то при двойном щелчке приходится это действие отменять.
Я не специалист по Windows, но в ее настройках, есть параметр, отвечающий за скорость двойного нажатия мышки. Почему бы в QLUA не использовать этот параметр, и не проверять сначала, было ли двойное нажатие мышки, или одиночное, и уже потом возвращать окончательное событие - ОДНО.
Это как пожелание к доработке.
Второе: по поводу нажатия клавиш. Например нужно обработать событие
- одиночное нажатие мышки с нажатой кнопкой Ctrl
Кое как я выкрутился из положения, и как только нажимается Ctrl записываю в переменную значение, что нажата Ctrl. И все дальнейшие события обрабатываю с учетом того, то Ctrl нажата. Проблема в том, что если нажать Ctrl и потом сразу отпустить, то при отпускании никакого события не срабатывает, и систем продолажет помнить, что Ctrl нажата. И следующее событие обрабатывает, как будто Ctrl нажата, хотя она давно отпущена.
Просьба доработать этот вопрос каким-нибудь образом.
Хотя бы сделать возврат события "отпущена клавиша", как это сделано с кнопкой мышки.