![]() |
Firemonkey Drag&Drop
Hallo,
ich würde gerne den Inhalt bzw. das Bild einer Image Komponente in eine andere Image Komponente per Drag&Drop ziehen. Dies war in einer Vcl Anwendung kein Problem aber bei FMX stellt ist das schon anders. Es fehlen so zum Beispiel die Proceduren BeginDrag oder Accept. Nun weis ich nicht wie ich dies in FMX realisieren soll. Danke im Voraus. Gruß OnlyOne |
AW: Firemonkey Drag&Drop
Welche Delphi Version?
|
AW: Firemonkey Drag&Drop
Zurzeit verwende ich XE6
|
AW: Firemonkey Drag&Drop
|
AW: Firemonkey Drag&Drop
Habe gehofft es gäbe eine schöne (einfache) Möglichkeit ohne Prozeduren zu überschreiben
oder mit dem Dragmode "dmManual". Aber trotzdem Danke :) |
AW: Firemonkey Drag&Drop
Eigentlich brauchst Du nichts zu überschreiben.
Ab Delphi XE6 wurde das "Accept" (Boolean) in der Ereignisprocedure "DragOver" durch "Operation" (TDragOperation) ersetzt. Statt Accept = True (oder false) setzt Du nun mit den einzelnen Auswahlmöglichkeiten für "Operation" (TDragOperation.xyz) das gewünschte Verhalten. "None" setzt Du, wenn keine Operation erlaubt sein soll, dann zeigt die Komponente auch keine grafische Rückmeldung an (bei den anderen Optionen erscheint der blaue Auswahlrahmen). Bei der Image-Komponente kannst Du z.B. DragMode auf "dmAutomatic" setzen, damit der Drag-Vorgang automatisch gestartet werden kann. Im "OnDragDrop"-Event kannst Du dann entsprechend reagieren. |
AW: Firemonkey Drag&Drop
Ich weiß, das Thema ist schon ziemlich alt. Leider hänge ich gerade an genau dieser Stelle.
Das DragDrop-Verhalten mit app-eigenen Komponenten, bei denen DragMode auf dmAutomatic steht funktioniert auch super. Ich möchte allerdings jetzt Dateien von außen auf das TDropTarget fallen lassen! Leider reagiert dieses überhaupt nicht.... Auch via Google und der Delphi-Hilfe bin ich leider nicht fündig geworden! Beste Grüße Björn |
AW: Firemonkey Drag&Drop
Hier mal ein Beispiel, um die Dateinamen per Windows Explorer (bzw. auf dem MAC vom Finder aus) in ein Memofeld zu ziehen:
Delphi-Quellcode:
Hinweis: In meinem letzten FMX-Buch zu Delphi 10.2 findest Du bei Bedarf unter Rezept 12 ein Beispiel, mit dem man Text z.B. aus den meisten Web-Browsern per Drag & Drop in sein Programm (z.B. ein Edit-Feld) ziehen kann.
procedure TForm6.Memo1DragDrop(Sender: TObject; const Data: TDragObject;
const Point: TPointF); var S: string; begin if (Data.files <> NIL) then begin for S in Data.Files do TMemo (Sender).lines.Add (s); end; end; procedure TForm6.Memo1DragOver(Sender: TObject; const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); begin Operation := TDragOperation.Copy; end; |
AW: Firemonkey Drag&Drop
Liste der Anhänge anzeigen (Anzahl: 2)
Guten Morgen!
Danke für die schnelle Antwort. Trotz Verwendung deines Codes reagiert mein Programm leider überhaupt nicht darauf (siehe Anhang)! Muss ich eventuell eine Option alá "DragDropActive" oder so was aktivieren? |
AW: Firemonkey Drag&Drop
Moin,
hast du bei der Komponente auf die Gedropt werden soll evtl. das Häkchen bei der HitTest Eigenschaft rausgenommen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz