Удаление нескольких выбранных пунктов в TListBox
Удаление выделенных пунктов из компонента TListBox
Когда свойство MultiSelect равно True, пользователь может выбрать несколько пунктов одновременно, а свойство SelCount указывает количество выделенных пунктов.
Чтобы удалить все выбранные пункты, нужно вызвать метод Delete основного объекта TStrings.
Во время удаления изменяется и порядковая позиция остающихся элементов в списке, так что при удалении элементов, нужно использовать цикл, в котором элементы нужно перебирать с конца. Свойство Selected указывает, какой элемент в списке выделен.
Вот пример кода для удаления нескольких элементов из списка:
// Сначала установите ListBox1.MultiSelect = True
var
  ii : integer;
begin
  with ListBox1 do
  begin
    for ii := -1 + Items.Count downto 0 do
    if Selected[ii] then Items.Delete(ii) ;
  end;
end;
            
Комментарии