Вниз
Скачать: 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
4-97074
alex134
2002-12-10 17:22
2003.01.30
тИП ЛОВУШКИ?


3-96638
Vladimir
2003-01-14 15:10
2003.01.30
Компонент выполняющий скрипт...


1-96800
Pk
2003-01-20 12:52
2003.01.30
Одинаковые события форм


14-97039
Ежик
2003-01-14 09:45
2003.01.30
В чем преимущества и недостатки языка C++ от Object Pascal


14-96962
AZ
2003-01-10 23:11
2003.01.30
Мужики ли мы?




   Наверх