procedure Tfrprodetile.ExchangeItems(lv: TListView; const i, j: Integer);
var
tempLI: TListItem;
begin
lv.Items.BeginUpdate;
try
tempLI := TListItem.Create(lv.Items);
tempLI.Assign(lv.Items.Item[i]);
lv.Items.Item[i].Assign(lv.Items.Item[j]);
lv.Items.Item[j].Assign(tempLI);
tempLI.Free;
finally
lv.Items.EndUpdate
end;
end;
and for use :
move down :
ExchangeItems(lst_detile,lst_detile.Selected.Index,lst_detile.Selected.Index+1);
move up :
ExchangeItems(lst_detile,lst_detile.Selected.Index,lst_detile.Selected.Index-1);
note that "lst_detile" is name of my listview
good day !