![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Реакция на быстрое изменение выбранной строки в списке
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