Einzelnen Beitrag anzeigen

Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#1

TreeView Drag&Drop wahlweise als Kind einfügen

  Alt 19. Aug 2014, 15:02
Hidiho,

ich hab da eine klassische TTreeView, die eine nutzerdefinierbare Hierarchie wiedergibt bzw. deren Änderung ermöglicht. Drag&Drop funktioniert zur Zeit gut. Im Drop geschieht im Kern das klassische src.MoveTo(dest, naInsert); . Falls man eine neue Hierarchieebene wünscht, muss man sich derzeit mit einem angehängten Kontextmenü behelfen und einen Untereintrag erzeugen, auf den man dann wiederum den eigentlich in die Ebene zu verschiebenden Eintrag fallen lassen kann.
Ich würde das gerne ändern. Es gibt da eine handvoll Useability- und Entwicklungsfragen, die zu klären sind
  • Wie ermögliche ich dem Anwender zwischen dem bisherigen naInsert und dem "neuen" naAddChild zu unterscheiden? Ctrl+Drag? Oder Timer im DragOver (was ich derzeit erfolgreich getestet habe)
  • Wie stelle ich diese Unterscheidung, im Baum dar? Irgendwie sollte der künftige Vorfahr-Knoten seine "Erwartung" anzeigen. Für naInsert reicht das Standardverhalten, um zu zeigen, "vor mir wird das verschobene Ding landen". Aber wie signalisiere ich das "als mein Kind wird das verschobene Ding landen"? Mir will da gerade gar nichts einfallen...
Hat einer von Euch da eine Idee, oder sowas bereits umgesetzt?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat