Delphi Listview使用按钮向上/向下移动项目

col*_*lin 0 delphi listview

可能重复:
Delphi:Listview中的Shift-Up和Shift-Down

嗨我有一个列表视图,我希望能够使用按钮在列表中上下移动选定的项目/项目,但无法弄清楚如何执行此操作,有人可以给我一个示例

非常感谢

科林

moh*_*sen 6

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;
Run Code Online (Sandbox Code Playgroud)

和使用:

向下移动:

ExchangeItems(lst_detile,lst_detile.Selected.Index,lst_detile.Selected.Index+1);
Run Code Online (Sandbox Code Playgroud)

提升 :

ExchangeItems(lst_detile,lst_detile.Selected.Index,lst_detile.Selected.Index-1);
Run Code Online (Sandbox Code Playgroud)

请注意,"lst_detile"是我的列表视图的名称

美好的一天 !