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

TListBox   Найти похожие ветки 

← →
Mihey ©   (2003-10-28 01:03) [0]

В режиме MultiSelect = True как узнать, какие Items выделены? Почему то Selected не помогает :((( (возвращает только один выделенный элемент, очевидно, с фокусом который).


← →
XED ©   (2003-10-28 01:33) [1]

Вот тебе код:

Var
i:Integer;
begin
For i:= 0 to ListBox1.Count-1 do If ListBox1.Selected[i] then ShowMessage("Item "+IntToStr(i)+" is selected!!!");


← →
Maxud ©   (2003-10-28 01:35) [2]


for i := 0 to ListBox1.Items.Count-1 do
if ListBox1.Selected[i] then
ListBox2.Items.Add(ListBox1.Items[i]);


SelCount - сколько строк выделено.


← →
Guerrillero ©   (2003-10-28 01:36) [3]

Учить матчасть, срочно:
var
I: Integer;
begin
with ListBox1 do
if Items.Count > 0 then
for I := 0 to Items.Count - 1 do
if Selected[I] then ShowMessage(Items[I]);


← →
zapped ©   (2003-10-28 10:41) [4]

2 Guerrillero © (28.10.03 01:36) [3]
if Items.Count > 0 then // эта строка лишняя ;))
если Count <=0 тело цикла выполняться всё равно не будет :))


← →
Mihey ©   (2003-10-28 16:33) [5]

А как удалить выделенные?


← →
Palladin ©   (2003-10-28 16:36) [6]

Ну это самое сложное.
TListBox.DeleteSelected


← →
Mihey ©   (2003-10-28 21:31) [7]

2 Palladin:

Не нашёл такого метода :(((


← →
Maxud ©   (2003-10-28 21:41) [8]


> Mihey © (28.10.03 21:31) [7]

Странно, а я нашел...

ListBox1.DeleteSelected; // работает :))


← →
Anatoly Podgoretsky ©   (2003-10-28 21:58) [9]

Mihey © (28.10.03 21:31) [7]
Нету такого, зато есть метод Delete


← →
Mihey ©   (2003-10-28 22:00) [10]

> Нету такого, зато есть метод Delete

У меня не выходит написать цикл, в котором выделенные элементы удалятся.


← →
panov ©   (2003-10-28 22:17) [11]

В D6 есть DeleteSelected


← →
panov ©   (2003-10-28 22:19) [12]

А цикл просто строится:

for i := lb.Items.Count-1 downto 0 do
begin
if lb.Selected[i] then
begin
lb.Items.Delete(i);
end;
end;


Ну и самое простое, одной строкой - lb.DeleteSelected;


← →
Mihey ©   (2003-10-28 22:30) [13]

> for i := lb.Items.Count-1 downto 0 do
begin
if lb.Selected[i] then
begin
lb.Items.Delete(i);
end;
end;


Странно, вот именно это у меня и не работает. Ладно, разберусь сам, а то вы уже шуточки пускать стали.


← →
Zacho ©   (2003-10-28 22:35) [14]


> Mihey © (28.10.03 22:30) [13]

Как именно не работает ? Текст сообщения об ошибке ?


← →
Anatoly Podgoretsky ©   (2003-10-28 22:35) [15]

panov © (28.10.03 22:17) [11]
У него Д5, поэтому этот удобный путь исключается, если только не написать свою функцию.


← →
anonymous   (2003-10-28 23:20) [16]

www.cadsofttools.com


← →
Mihey ©   (2003-10-29 00:25) [17]

> Как именно не работает ? Текст сообщения об ошибке ?

Удаляет только один выделенный элемент. Но хочу сразу вас успокоить. Я использую не совсем TListBox, а flat-style компонент, который является потомком TCustomControl и который один в один повторяет свойства TListBox. Очевидно, ошибка в коде компонента, с чем я и постараюсь разобраться.



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

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



Память: 0.48 MB
Время: 0.033 c
14-41956
mrcat
2003-10-20 10:29
2003.11.13
Implib.exe


8-41753
Ozone
2003-07-07 09:34
2003.11.13
Рисование на рабочем столе


14-42122
alice
2003-10-22 16:41
2003.11.13
Помогите! Задачи по расписанию в DB2!


14-42036
*pavel
2003-10-16 09:29
2003.11.13
Лечение Novell


3-40828
Miwa
2003-10-22 05:45
2003.11.13
С чего начать или Какую СУБД/технологию/литературу посоветуете?




   Наверх