Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.25;
Скачать: CL | DM;

Вниз

Неожиданная проблема.   Найти похожие ветки 

 
Alibaba ©   (2003-09-15 13:06) [0]

Привет всем.

Столкнулся с неожиданной проблемой работая с TListBox.

У меня есть lbTasks: TListBox, здесь список задач.
Каждая задача имеет определенные параметры, которые отображаются в различных контролах (TEdit, TCaption и т.д.) когда мы двигаемся по списку.

Я устанавливаю активную задачу 2 способами:
Способ 1. Повесил обработчик на событие TListBox.OnClick
Способ 2. Иногда возникает необходимость установить активную задачу не кликая на - lbTasks (например, из других процедур). В это случае я устанавливаю lbTasks.ItemIndex:=Num, где Num - номер той задачи, которую я хочу активизировать.

Все работает.

Теперь развиваем проект.
Я разместил на форме pmListTask: TPopupMenu, сделал там три TMenuItem для добавления, изменения и удаления задач.

Я хочу, что бы была возможность удалить несколько задач.
Устанавливаю lbTasks.MultiSelect:=True и все супер.
Отмечаю задачи, которые хочу удалить, правой кнопкой кликаю, выбираю во всплывающем меню "удалить" - удаляются несколько задач.

НО! ТЕПЕРЬ НЕ УСТАНАВЛИВАЕТСЯ активная задача из других процедур
( Способ 2.).
Тоесть, если lbTasks.MultiSelect=True то не работает lbTasks.ItemIndex:=Num.
Никакой ошибки не выдается, просто ничего не происходит.
Не активируется необходимая запись в списке.

Устанавливаю lbTasks.MultiSelect:=False, работает lbTasks.ItemIndex:=Num. Но теперь невозможно выделить несколько задач для обработки.

Вот такая непонятка?
Подскажите, если кто встречал.


 
Andrey007   (2003-09-15 13:19) [1]

А так и должно быть. Либо MultiSelect=False и можно работать с ItemIndex, либо MultiSelect=True и выделенный элемент надо искать в цикле Seleceted[i].

Вот, например, как я сделал в одной процедуре выделение одного элемента в TListBox"e:

if MultiSelect then Selected[Items.Count-1]:=true
else ItemIndex:=Items.Count-1



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

Текущий архив: 2003.09.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-82392
waw
2003-09-05 11:47
2003.09.25
Компоненты для программирования под Palm OS?


8-82341
KoNDoR
2003-05-31 14:33
2003.09.25
Поверхность в OpenGL


1-82209
ЮРИЙ_К
2003-09-12 13:56
2003.09.25
Как в ComboBox сделать некоторые (по условию) Items недоступными?


6-82349
Borealis
2003-07-20 17:02
2003.09.25
По имени компьютера в домене его IP-адрес


1-82229
Doid
2003-09-12 14:22
2003.09.25
WindowProc для TToolButton