ListView için Delphi'deki Sürükleme ve Damlama Sisteminde oldukça yeniyim. ListView'de öğeleri sürükleyip bırakmak için internette basit bir çözüm buldum. Sorun, kodun yalnızca ilk sütunu sürüklediğini göstermesi ve göstergesini göstermesi ve tüm satırı sürüklemesidir.Delphi ListView Sürükle Bırak Tüm Satır
Aşağıdaki resimde gördüğüm şeyi ve almak istediklerimi görebilirsiniz.
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
DragItem, DropItem, CurrentItem, NextItem: TListItem;
begin
if Sender = Source then
with TListView(Sender) do
begin
DropItem := GetItemAt(X, Y);
CurrentItem := Selected;
while CurrentItem <> nil do
begin
NextItem := GetNextItem(CurrentItem, SdAll, [IsSelected]);
if DropItem = nil then DragItem := Items.Add
else
DragItem := Items.Insert(DropItem.Index);
DragItem.Assign(CurrentItem);
CurrentItem.Free;
CurrentItem := NextItem;
end;
end;
end;
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Sender = ListView1;
end;
self.ListView1.DragMode := dmAutomatic;
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Customizing_Drag_and_Drop_with_a_Drag_Object –