5,388
社区成员
发帖
与我相关
我的任务
分享
ListView1.DragMode := dmAutomatic;
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := True;
end;
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
DragItem,item,item1,item2:TListItem;
index:Integer;
begin
item := ListView1.GetItemAt(x,y);
if item = nil then Exit;
DragItem := ListView1.Selected;
index := ListView1.DropTarget.Index;
if index > DragItem.Index then
begin
item1:=ListView1.Items.Insert(index+1);
item2 := ListView1.Items.Insert(DragItem.Index);
end
else
begin
item1:=ListView1.Items.Insert(index);
item2:=ListView1.Items.Insert(DragItem.Index);
end;
item1.Assign(DragItem);
item2.Assign(item);
DragItem.Delete;
item.Delete;
ListView1.Refresh;
end;