Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Реакция на быстрое изменение выбранной строки в списке


kva ©   (2003-01-22 11:36:00) 

Привет всем! Необходимо по изменению ListBox.ItemIndex выполнять некоторую довольно длительную процедуру, входным параметром которой является элемент списка. Хочу при быстром изменении (например, когда пробегаю список в Listbox"е с помощью клавиатуры) отключить, не запускать эту процедуру, пока не будет сделан окончательный выбор.
Первое, что пришло в голову - это использовать таймер. Например, в OnKeyPress делать Timer.Enabled на 200 мсек и уже по OnTimer запускать эту процедуру и затем отключать таймер.
Какие еще способы существуют?
Слышал по OnIdle, но сам не делал. Может кто кусок кода бросит..
Заранее спасибо.


VAleksey   (2003-01-22 13:21:00) [1]

Второе что пришло в голову :))
Может все-таки, если процедура длительная, явно ее стартовать ? По клику на кнопке " Выбрать элемент ", например ?


VAleksey   (2003-01-22 13:20:00) [2]

Да нормальный вариант с таймером. Главное простой.


kva   (2003-01-22 13:10:00) [3]

Нет вариантов?


kva   (2003-01-22 12:39:00) [4]

Listbox.OnCloseUp ????
Listbox не DBLookupComboBox, и не TDateTimePicker

Еще варианты ?


REA   (2003-01-22 12:25:00) [5]

OnCloseUp кстати кажется не срабатывает при выборе с клавиатуры, так что осторожно. Может подготовить кэш, чтобы процедура была не столь длительной?


stone   (2003-01-22 11:44:00) [6]

Запускай процедуру при Listbox.OnCloseUp


Наверх

Титульная страница Поиск, карта сайта Написать письмо