Главная страница
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.025 c
3-82126
Ury
2003-09-04 13:54
2003.09.25
DBComboBox


1-82253
Dimich1978
2003-09-15 13:44
2003.09.25
два вопроса?


3-82063
Владий
2003-09-02 15:34
2003.09.25
Как запихнуть картинку в Access-базу?...


1-82264
Xitrik
2003-09-13 20:14
2003.09.25
как в Delphi обозначить (+,-,*,/) клавиши дополнительной клавиату


1-82198
Andy BitOff
2003-09-12 17:15
2003.09.25
Как это сделать?