События Click и DblClick в Grid-ах

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

События Click и DblClick в Grid-ах

Сообщение grigoreo » 04.07.2011 11:32:56

столкнулся вот с таким казусом , в любом из типов гридов будь то DBGrid или просто StringGrid есть два типа события - двойной клик и одинарный,

но вот как их разделить чтобы при кликах срабатывал либо тот либо этот, получается одиночный клик срабатывает всегда, даже если это был клик из последовательности Двойного клика
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: События Click и DblClick в Grid-ах

Сообщение xcod » 04.07.2011 11:38:55

может быть сравнивать интервал между кликами
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: События Click и DblClick в Grid-ах

Сообщение grigoreo » 04.07.2011 12:14:08

xcod писал(а):может быть сравнивать интервал между кликами


допустим а как?, вот кликнул ты раз я сравнил время , у первого клика большое, событие одного клика уже сработало я не знаю будет ли второй быстрый клик за первым или не будет...
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: События Click и DblClick в Grid-ах

Сообщение xcod » 04.07.2011 12:31:19

в windows скорость выполнения двойного щелчка хранится в реестре HCU\Control Panel\Mouse параметр DoubleClickSpeed в миллисекундах, по умолчанию вроде 500
так что в зависимости от настройки системы я думаю вам надо плясать
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: События Click и DblClick в Grid-ах

Сообщение grigoreo » 04.07.2011 12:58:50

xcod писал(а):в windows скорость выполнения двойного щелчка хранится в реестре HCU\Control Panel\Mouse параметр DoubleClickSpeed в миллисекундах, по умолчанию вроде 500
так что в зависимости от настройки системы я думаю вам надо плясать


вопрос не в том какая величина , тут не проблема, а в том как , в принципе разделить эти 2 типа событий, ведь кликая один раз и попадая в обработчик мы заранее не знаем будет ли второй клик... если будет то возможно наступить событие двойного клика а если не будет то будет одинарный клик , но на этапе первого клика мы об этом не знаем...
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

Re: События Click и DblClick в Grid-ах

Сообщение Mr.Smart » 04.07.2011 13:13:28

grigoreo в данном случае вы выбрали не верный путь. Обдумайте логику управления заново, исключая данную ситуацию т.к. вы всегда сначала будете получать событие "клик".
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: События Click и DblClick в Grid-ах

Сообщение xcod » 04.07.2011 13:15:43

теперь понял :D
действительно мжт логику поменять
например левая кнопка мыши одно действие, правое другое
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23

Re: События Click и DblClick в Grid-ах

Сообщение dunin » 04.07.2011 13:32:38

Mr.Smart писал(а):grigoreo в данном случае вы выбрали не верный путь. Обдумайте логику управления заново, исключая данную ситуацию т.к. вы всегда сначала будете получать событие "клик".

Вроде в дельфи эти события нормально разделялись? Т.е. по даблклику онклик не отрабатывал. Или что-то путаю?
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: События Click и DblClick в Grid-ах

Сообщение WAYFARER » 04.07.2011 13:45:17

dunin писал(а):Вроде в дельфи эти события нормально разделялись? Т.е. по даблклику онклик не отрабатывал. Или что-то путаю?

Нет. Всегда будет срабатывать onClick.

На самом деле, нужно пересмотреть управление.
Либо же замерять время и вызывать DblClick из onClick, что по моему мнению, как то глупо...
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 537
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Re: События Click и DblClick в Grid-ах

Сообщение dunin » 04.07.2011 13:50:04

WAYFARER писал(а):
dunin писал(а):Вроде в дельфи эти события нормально разделялись?...

Нет. Всегда будет срабатывать onClick.

Хм... Проверил. Да, всегда отрабатывает.
Вроде сравнительно недавно дельфи совсем забросил, а уже ничего не помню. Склероз, будь он неладен... :(
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 217

Рейтинг@Mail.ru
cron