05-06-2020, Saat: 13:27
Merhaba,
Anlatacaklarım biraz karışık olabilir kusura bakmayın şimdiden.
Forumda 3 adet TListView kullanıyorum duruma drag and drop yapmak istiyorum. Fakat çözemedim bir türlü.
Yardımlarınızı rica ederim.
1. ListView1 sadece kendi içinde drag and dpor yapacak.
2. ListView2 buda sadece kendi içinde drag and dpor yapacak.
3. ListView3 sadece ListView2'ye drag and dpor yapacak.
Umarım anlatmayı başarmışımdır.
Anlatacaklarım biraz karışık olabilir kusura bakmayın şimdiden.
Forumda 3 adet TListView kullanıyorum duruma drag and drop yapmak istiyorum. Fakat çözemedim bir türlü.
Yardımlarınızı rica ederim.
1. ListView1 sadece kendi içinde drag and dpor yapacak.
2. ListView2 buda sadece kendi içinde drag and dpor yapacak.
3. ListView3 sadece ListView2'ye drag and dpor yapacak.
Umarım anlatmayı başarmışımdır.
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer); var CurrentItem, NextItem, DragItem, DropItem: TListItem; begin if (Sender is TListView) and (Source is TListView) then begin TListView(Sender).Items.BeginUpdate; try DropItem := TListView(Sender).GetItemAt(X, Y); CurrentItem := TListView(Source).Selected; While Assigned(CurrentItem) Do begin NextItem := TListView(Source).GetNextItem(CurrentItem, SdAll, [IsSelected]); if Assigned(DropItem) then DragItem := TListView(Sender).Items.Insert(DropItem.Index) else DragItem := TListView(Sender).Items.Add; DragItem.Assign(CurrentItem); if (Source = Sender) then CurrentItem.Free; CurrentItem := NextItem; end; finally TListView(Sender).Items.EndUpdate; end; end; end;
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin Accept := Sender = ListView1; end;