AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Drag&Drop innerhalb eines VirtualTree und in den Explorer
Thema durchsuchen
Ansicht
Themen-Optionen

Drag&Drop innerhalb eines VirtualTree und in den Explorer

Ein Thema von Gausi · begonnen am 29. Dez 2021 · letzter Beitrag vom 31. Dez 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.343 Beiträge
 
Delphi 12 Athens
 
#1

AW: Drag&Drop innerhalb eines VirtualTree und in den Explorer

  Alt 31. Dez 2021, 09:26
Ja, Delphi nutzt intern eine eigene/andere Implementation für das Drag&Drop,
aber es wäre nicht verboten, auch intern das gleiche D&D zu verwenden, wie für den Explorer.

Als Ziel ist es ja kein Problem, einfach Beide D&D einzubauen, also Verschieben und als Ziel für "vom" Explorer oder anderen Programmen (Mail, wobei es ja auch zwei unterschiedliche Varianten des D&D gibt und nicht alle Programme das Gleiche nutzen, wenn man aus ihnen rauskommt ... z.B. Thunderbird/Explorer gegen Outlook ... und auch nicht alle Ziele werden von Allen angenommen)


Als Drag&Drop-Source hatte ich es letztens mit "einfach" gemacht,
da es bei und meistens nur intern verschoben wird oder es von Außen rein kommt.

Sollte es doch auch mal raus gehen müssen, da wird dann nicht direkt aus dem Tree gezogen, sondern man Klickt und Zieht auf/aus einen Knopf (oder sonstwas Anderem), wo dann das aktuell Selektierte mitgenommen wird.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
903 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Drag&Drop innerhalb eines VirtualTree und in den Explorer

  Alt 31. Dez 2021, 13:26
Sollte es doch auch mal raus gehen müssen, da wird dann nicht direkt aus dem Tree gezogen, sondern man Klickt und Zieht auf/aus einen Knopf (oder sonstwas Anderem), wo dann das aktuell Selektierte mitgenommen wird.
Ok, das geht ja in die Richtung, die ich auch schon angedacht habe. Nur wäre das bei mir kein eigenes GUI-Element, sondern als "hidden Feature" die Ctrl-Taste als Modifier für diese Aktion. Ich denke, ich bleibe dann bei dieser Grundrichtung. D.h. primär geht D&D nur intern, und nach extern muss der User "extra aktivieren".

Nach draußen ist D&D eh kein so großes Ding, Copy&Paste per Ctrl+C/Ctrl+V ist ja auch noch implementiert (und über das Kontextmenü ersichtlich). Vom Explorer rein ging bis jetzt über ein globales DragAcceptFiles(Form.Handle, true) und DragQueryFile bei WM_DROPFILES . Aber das baue ich auch grade etwas um, da die Aktion beim Drop jetzt davon abhängen kann, auf welchen Knoten im TreeView die Files von außen gedroppt werden.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.343 Beiträge
 
Delphi 12 Athens
 
#3

AW: Drag&Drop innerhalb eines VirtualTree und in den Explorer

  Alt 31. Dez 2021, 20:19
Strg und Shift hatte ich nach Außen halt schon belegt.

Außerdem merken sich Benutzer eh nie etwas und es ist besser, wenn sie einen sichtbaren Ausgangspunkt mit Hint haben. (eigene Erfahrung)


Für Copy, Move oder Link ... genauso wie es der Explorer macht.
Aber auch hier war nun aufgefallen, dass es irgendwie garnicht so bekannt ist, das Standardverhalten des Exploreres ... war also garnicht nötig, das im eigenen Programm zu implementieren.
Ein Therapeut entspricht 1024 Gigapeut.
  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 17:23 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