Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VirtualTreeView: OnEndDrag wird nicht ausgelöst (https://www.delphipraxis.net/123371-virtualtreeview-onenddrag-wird-nicht-ausgeloest.html)

changlee 31. Okt 2008 18:35


VirtualTreeView: OnEndDrag wird nicht ausgelöst
 
Hallo,

ich habe ein Problem mit Drag&Drop zwischen zwei VirtualStringTree-Komponenten.
Habe bisher noch nichts mit Drag&Drop gemacht und deshalb hier im Forum gesucht und folgendes gefunden:

Man solle jeweils für beide Komponenten..
Delphi-Quellcode:
dragMode := dmManual;
dragType := dtOle;
.. einstellen und für die Zielkomponente deklarieren:

Delphi-Quellcode:

procedure TFmMain.vstDragOver(Sender: TBaseVirtualTree; Source: TObject;
  Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode;
  var Effect: Integer; var Accept: Boolean);
begin
accept:=true;
end;


procedure TFmMain.vstEndDrag(Sender, Target: TObject; X, Y: Integer);
var zielknoten,quellknoten:PVirtualNode;
    folder:TFolder;
    dataset:TMsgDataSet;
    fn:string;
begin
  // das hier wird niemals erreicht...
end;
Offenbar tritt das Ereignis OnEndDrag aber niemals ein!
Wieso denn nicht? :gruebel:

Kann mir jemand weiterhelfen?

Gruß,
Stefan.

generic 31. Okt 2008 19:47

Re: VirtualTreeView: OnEndDrag wird nicht ausgelöst
 
Erste Idee die ich habe, das Ereignis wird nur bei VCL-DD ausgelöst?

changlee 31. Okt 2008 19:55

Re: VirtualTreeView: OnEndDrag wird nicht ausgelöst
 
Hi,

also ich habe jetzt dragType auf dtVCL umgestellt (bei beiden Komponenten). Das ereignis wird aber immer noch nicht ausgeführt.

changlee 31. Okt 2008 19:59

Re: VirtualTreeView: OnEndDrag wird nicht ausgelöst
 
Achso, nochwas: Wenn ich wie oben beschrieben den dragMode bai beiden Komponenten aud dmManual setze, kann ich nicht mal von der Quellkomponente "losdraggen" (der Eintrag bleibt dann nicht am Mauszeiger hängen). Setze ich auf dmAutomatic, kann ich zwar "losdraggen", EndDrag wird aber nicht ausgeführt.

changlee 1. Nov 2008 10:05

Re: VirtualTreeView: OnEndDrag wird nicht ausgelöst
 
Habs inzwischen gelöst bzw. umgangen. Ich benutze jetzt nicht mehr OnEndDrag sondern OnDragDrop. Das erklärt zwar immer noch nicht, warum OnEndDrag nicht eintritt, aber so funktioniert es wenigstens.

Gruß
Stefan.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz