AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie DragDrop-Ende signalisieren?

Ein Thema von Benmik · begonnen am 1. Jan 2022 · letzter Beitrag vom 2. Jan 2022
Antwort Antwort
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#1

AW: Wie DragDrop-Ende signalisieren?

  Alt 2. Jan 2022, 12:00
...VCL und Windows sind beim Thema Drag&Drop nicht wirklich kompatibel.
Da hast du offenbar Recht. Sowohl von der VCL als auch von der Komponente wird DragDrop gestartet, aber beendet wird es nur von dem, der zum Zuge kommt.

Zum Verständnis: Es geht um Bilddateien, deren Vorschaubilder auf ein Panel gezeichnet sind. Bisher wurde DragDrop innerhalb der Anwendung genutzt (z.B. um Bilder zu verschieben o.ä.). Nun möchte ich aber gern auch Bilder aus dem Panel auf andere Programme ziehen. Das ging bisher auch über ein Kontextmenü, aber mit Nachteilen (u.a. funktioniert das bei einigen Programmen nicht). Konkret geht es hier um die Desktopversion von Signal, wo man durch Ziehen die Bilder direkt an einen bestimmmten Kontakt senden kann. Wenn also BeginDrag startet, dann weiß das Programm noch nicht, was der Anwender vorhat (er selbst vielleicht auch noch nicht).

Ich brauche also VCL und OLE. Es funktioniert ja auch, aber beide werden gestartet und einer "hängt" dann, bis man noch einmal klickt. Wenn ich bei DragBegin durch eine Tastenkombination festlegen würde, um welche Aktion es geht, dann wäre das Problem gelöst (und da ist Abort sehr hilfreich), aber ich hätte es natürlich gern "automatisch".

(Muss jetzt arbeiten, kann also erst wieder heute Abend weitermachen).
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.609 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie DragDrop-Ende signalisieren?

  Alt 2. Jan 2022, 12:14
Du musst dich für eins entscheiden: OLE oder VCL. Wenn du OLE brauchst und gleichzeitig die eigene Anwendung auch als Drop-Target herhalten soll, dann kannst du das mit der TDragTarget Komponente derselben Library realisieren.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie DragDrop-Ende signalisieren?

  Alt 2. Jan 2022, 20:31
... kannst du das mit der TDragTarget Komponente derselben Library realisieren.
Das merke ich mir mal für später. Zurzeit müsste ich da einiges programmieren, das lohnt im Moment nicht.
Ich habe es jetzt so gelöst, dass das Gedrückthalten einer bestimmten Taste auf die Komponente umleitet und dabei Uwes Abort eingesetzt wird.

Vielen Dank euch beiden.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 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 by Thomas Breitkreuz