Показать сообщение отдельно
  #3  
Старый 30.04.2008, 17:02
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Vit
Прошу совета!
Нужно перенести выделенные записи из одного ListBox-а в другой.

Копирование/перенос выделенных итемов из ListBox1 в ListBox2:

Для варианта с Multiselect = False

Копирование
Код:
ListBox2.Items.add(ListBox1.Items[ListBox1.ItemIndex]);

Перенос
Код:
ListBox2.Items.add(ListBox1.Items[ListBox1.ItemIndex]);
ListBox1.Items.Delete(ListBox2.ItemIndex);

Для варианта с Multiselect = True

Копирование
Код:
var
  I : Integer;
begin
  For I := 0 To ListBox1.Items.Count-1 Do
    If ListBox1.Selected[i] Then 
       ListBox2.Items.add(ListBox1.Items[i]);
end;

Перенос
Код:
var
  I : Integer;
begin
  For I := ListBox1.Items.Count-1 DownTo 0 Do
    If ListBox1.Selected[i] Then 
      Begin
         ListBox2.Items.add(ListBox1.Items[i]);
         ListBox1.Items.Delete(I);
      End;
end;
Ответить с цитированием