控件事件顺序:先执行DragOver事件,后执行DragDrop事件
var
ListItem:TListItem;
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := true;
ListItem:=ListView1.Selected;
end;
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
InsertItem : TListItem;
begin
if (Source is TListView) then
begin
InsertItem:=ListView1.Items.Insert
(ListView1.Items.IndexOf(ListView1.GetItemAt(X,Y)));
InsertItem.Assign(ListItem);
ListView1.Selected.Delete;
end;
end;