Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Drag Drop ListView kurz vor Verzweifelung

  Alt 12. Mär 2007, 17:45
Hallo,

das ärgerliche Verhalten wird durch den virtuellen Modus der ListView verursacht - mit der Standard-ListView tritt es nicht auf. Leider habe ich für dein Problem momentan keine Lösung parat, bin aber zuversichtlich, dass es eine gibt. Vielleicht finde ich am Wochenende die Zeit um mich damit zu beschäftigen.

Edit: War gar nicht so schwer. Tracking-Artefakte beim Drag&Drop können zuverlässig beim EndDrag() beseitigt werden.

Delphi-Quellcode:
procedure TfrmMain.LVDragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
begin
  Accept := (Sender is TListView)
        and (Source is TListView)
        and Assigned((Sender as TListView).GetItemAt(X, Y));
end;

procedure TfrmMain.LVEndDrag(Sender, Target: TObject; X, Y: Integer);
begin
  with Sender as TWinControl do Invalidate;
  with Target as TWinControl do Invalidate;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat