![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выполнить действие, если курсор находится на записи более 1сек. [D7, FB1.5]
DancerMan © (2005-10-19 11:41:00)Добрый день!
Есть дерево и грид. При перемещении по дереву данные грида обновляются. Хочу, чтобы обновление происходило только, если курсор находится на одной записи дерева определенное время, например, секунду. По типу, как в Проводнике Windows.
Подскажите, пожалуйста, как это реализовать?
Курдль (2005-10-19 12:05:00) [1]
> DancerMan © ...По событию OnChange
Я бы сказал по "AfterScroll"
У продвинутых гридов есть событие OnHint, которое как раз тем и заведует, что отслеживает "задержку курсора на контроле".
Sergey13 (2005-10-19 12:01:00) [2]2[2] DancerMan © (19.10.05 11:50)
Бросил на форму таймер. Установил ему время срабатывания - 1 сек. Прописал ему процедуру на срабатывание onTimer. На афтерСкрол датасета (например) вешаешь Timer.Enabled:=True и все - таймер запущен или перезапущен.
Johnmen (2005-10-19 11:56:00) [3]А что тут сложного.
Запомнил что-то, что указывает однозначно, на какой записи стоишь.
Через секунду проверил, на той ли записи, что и раньше, или нет. Принял решение...
DancerMan (2005-10-19 11:50:00) [4]Понятно, что таймер.
Как получить время которое я нахожусь на записи? По событию OnChange я могу зафиксировать время когда я стал на запись. Но потом надо как-то проверять, что если я нахожусь на ней более секунды, то выполнять действие.
Sergey13 (2005-10-19 11:43:00) [5]Ну, если надо время мерять, то наверное таймер надо использовать.