Programowanie w języku Delphi » FAQ

Jak przesunąć pozycję w komponencie ListView

  • 2007-03-04 23:06
  • 0 komentarzy
  • 913 odsłon
  • Oceń ten tekst jako pierwszy
Przesuwanie zaznaczonej pozycji o jedno w górę:

if (ListView1.ItemIndex <> 0) and (ListView1.Selected <> nil) then
  begin
    ListView1.Items.BeginUpdate;
    try
      ListView1.Items.Insert(ListView1.Selected.Index+2).Assign(ListView1.ItemFocused);
      ListView1.ItemFocused.Delete;
    finally
      ListView1.Items.EndUpdate;
    end;
  end;

A w dół:

  if (ListView1.ItemIndex <> 0) and (ListView1.Selected <> nil) then
  begin
    ListView1.Items.BeginUpdate;
    try
      ListView1.Items.Insert(ListView1.Selected.Index-1).Assign(ListView1.ItemFocused);
      ListView1.ItemFocused.Delete;
    finally
      ListView1.Items.EndUpdate;
    end;
  end;

Aby zobaczyć efekty, właściwość ViewStyle musi być ustawiona na vsList albo vsReport.