Главная страница
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.04 c
1-82298
Pomashok
2003-09-14 17:32
2003.09.25
Перекодировка


14-82394
Vlad Oshin
2003-09-04 17:50
2003.09.25
Флейм. Сигареты легкие или тяжелые?


1-82324
Pomashok
2003-09-15 17:15
2003.09.25
Как вывести в RichEdit e?


14-82469
Всеволод Соловьёв
2003-09-06 12:22
2003.09.25
Воздушно-пузырьковые стиралки


14-82444
vopros
2003-09-08 11:15
2003.09.25
Помогите с Application.messageBox