Вниз
Скачать: CL | DM;

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

 
kva   (2003-01-22 11:36) [0]

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


 
stone ©   (2003-01-22 11:44) [1]

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


 
REA ©   (2003-01-22 12:25) [2]

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


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

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

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


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

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


 
VAleksey ©   (2003-01-22 13:20) [5]

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


 
VAleksey ©   (2003-01-22 13:21) [6]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-96779
Armageddon
2003-01-22 10:00
2003.01.30
BitBtn


3-96611
Zn
2003-01-13 17:41
2003.01.30
Ошибка при работе с параметром в ADODataSet.


3-96592
Jony
2002-12-28 19:36
2003.01.30
Пропала информация


14-96989
Shatun
2003-01-13 09:18
2003.01.30
Подскажите с чего начать изучать MS SQL?


1-96856
Robin bobin
2003-01-21 09:42
2003.01.30
Работа с Exel в Delphi




   Наверх