Hallo,
Hast du schon gegoogelt? Dies habe ich nach ein paar Sekunden gefunden:
Delphi-Quellcode:
procedure ListViewItemMoveUpDown(lv: TListView; Item: TListItem; MoveUp,
SetFocus: Boolean);
var
DestItem: TListItem;
begin
if (Item = nil) or
((Item.Index - 1 < 0) and MoveUp) or
((Item.Index + 1 >= lv.Items.Count) and (not MoveUp)) then
Exit;
lv.Items.BeginUpdate;
try
if MoveUp then
DestItem := lv.Items.Insert(Item.Index - 1)
else
DestItem := lv.Items.Insert(Item.Index + 2);
DestItem.Assign(Item);
lv.Selected := DestItem;
Item.Free;
finally
lv.Items.EndUpdate;
end;
if SetFocus then
lv.SetFocus;
DestItem.MakeVisible(False);
end;
Beispiele:
// Das ausgewählte Item nach Oben schieben und den Fokus setzen
ListViewItemMoveUpDown(ListView1, ListView1.Selected, True, True);
// Das 2. Item nach Oben schieben
ListViewItemMoveUpDown(ListView1, ListView1.Items[1], True, False);