Карта сайтаСсылкиКонтакты

Удаление нескольких выбранных пунктов в TListBox

PDF Печать
Статьи

Компонент TListBox в Delphi управляет коллекцией строк в прокручиваемом списке. Если установить свойство MultiSelect равным True, пользователь может выбирать более одного пункта одновременно. Но как удалить выделенные пункты из 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;

 

Добавить комментарий


Защитный код
Обновить