Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ListBox1 [D5, D6, Win2k, WinXP]


eruc ©   (2002-07-09 22:10:00) 

Есть ListBox1
у него MultuSelect:=true;
Выделяем в нем несколько строк

Как узнать с какой и по какую строку мы выделили ?

:)


Andrey007   (2002-07-10 09:22:00) [1]

for i:=0 to ListBox.Items.Count-1 do if ListBox.Selected[i] then
begin
// наткнулись на выделенную строку
end
else
begin
// невыделенная строка
end


TTCustomDelphiMaster   (2002-07-10 08:36:00) [2]

Посмотри как работает
function TCustomListBox.GetSelected(Index: Integer): Boolean;
и почитай про LB_GETSELITEMS


NailMan   (2002-07-10 02:05:00) [3]

Var i,Min,Max:integer;

begin

Min:=-1;
Max:=-1;
For i:=0 to ListBox1.Items.Count-1 do
if ListBox1.Selected[i] then
begin
if min<0 then min:=i;
Max:=i;
end;
end;

В итоге:
min - начальный индекс строки
Max - Конечный индекс строки

Но если между Min и Max есть невыделенные строки, то они посчитаются за таковые, поэтому выделенные индексы надо в массивчик заносить, и потом с ним и работать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо