Usuń zaznaczone w ListView

0

Witam,

Jak usunąć zaznaczone elementy w ListView a z włączonym Checkboxem. Poniższa procedura usuwa tylko elementy zaznaczone przy pomocy klawisza Ctrl.


procedure TForm1.Usunzanznaczone1Click(Sender: TObject);
var
I: Integer;
begin

ListView1.Items.BeginUpdate;
if ListView1.SelCount = 1 then
begin
I := ListView1.selected.Index - 1;
ListView1.selected.Delete;
if I = -1 then
I := 0;
if ListView1.Items.Count > 0 then
ListView1.selected := ListView1.Items[I];
end
else
begin
for I := ListView1.Items.Count - 1 downto 0 do
if ListView1.Items[I].selected then
ListView1.Items[I].Delete;
end;
ListView1.Items.EndUpdate;

end;


Nie wiem co by tu trzeba zmienić.

Z góry dziękuję za wszystkie sugestie.

Pozdrawiam,
Piotr Murawski

0

var
I: Integer;

begin

if ListView1.SelCount = 0 then Exit;

for I := ListView1.Items.Count -1 downto 0 do
if ListView1.Items.Item[I].Selected and
ListView1.Items.Item[I].Checked then
ListView1.Items.Item[I].Delete;

end;

0

czytelniej jest tak

var
I: Integer;

begin

if ListView1.SelCount = 0 then Exit;
with ListView1.Items do
for I := Count -1 downto 0 do
if Item[I].Selected and item[I].Checked then
Item[I].Delete;
end;

0

Pochwalony! Jeżeli chcesz wszystkie zaznaczone usunąć to napisz:
ListView1.DeleteSelected;

1 użytkowników online, w tym zalogowanych: 0, gości: 1