AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi TreeView Drag&Drop wahlweise als Kind einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView Drag&Drop wahlweise als Kind einfügen

Ein Thema von Sherlock · begonnen am 19. Aug 2014 · letzter Beitrag vom 21. Aug 2014
Antwort Antwort
Dejan Vu
(Gast)

n/a Beiträge
 
#1

AW: TreeView Drag&Drop wahlweise als Kind einfügen

  Alt 20. Aug 2014, 14:38
Imitiere doch das Verhalten des Explorers, d.h. Du rufst von dem Knoten der als Vater-kandidat fürs droppen in Frage kommt (GetHitTestInfoAt) dann einfach 'Expand' auf. Und wenn der noch keine Kinder hat, dann fügst Du an dem Knoten, nach einer kurzen Wartezeit einen Dummyeintrag ein und rufst Dann Expand auf. Der Dummyeintrag sieht so aus wie das, was Du da droppen willst... Wenn der Cursor dann weiter bewegt wird, schmeisst Du den Dummyeintrag wieder raus. und rufst für den Knoten, denn Du im Rahmen der Drag-Operation ein Expand aufrufen musstest, eben wieder collapse auf. Das ist zwar Wurschtelkram mit listen ('expanded', 'dummyEntries'), die man pflegen muss, aber es sollte funktionieren. Kann höchstens sein, das das schrottig aussieht.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TreeView Drag&Drop wahlweise als Kind einfügen

  Alt 20. Aug 2014, 21:25
Oder einfach den VirtualTreeView benutzen. Der bringt schon sehr viele Funktionen von Haus aus mit und man kann trotzdem noch alles steuern/verbieten oder sonstwas. Noch dazu unterstützt er OLE Drag&Drop und normales VCL Drag&Drop. Und den Aufklappmechanismus hat der Tree meines Wissens nach auch. (Kann man glaube ich sogar einstellen, wie der reagieren soll)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: TreeView Drag&Drop wahlweise als Kind einfügen

  Alt 21. Aug 2014, 08:21
Bzgl. Cursor bei Drag & Drop hab ich mich seinerzeit hier schlau gemacht. Vielleicht hilft dir das Kapitel über "Customising the Drag Cursor" ja weiter:

http://www.blong.com/Conferences/Bor...stomComponents
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

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

AW: TreeView Drag&Drop wahlweise als Kind einfügen

  Alt 21. Aug 2014, 09:45
Danke, Danke! Das hilft mir sehr viel weiter, Jumpy!
VirtualTreeView gedenke ich mir immer wieder anzusehen, werde aber von der mächtigkeit abgeschreckt Und für den dann doch simplen Anwendungsfall hier, wollte ich mir das nicht geben. Aber danke für den Hinweis.
Ich werde jetzt ein wenig lesen und basteln. Falls jemand interesse an dem Ergebnis hat, werd ich es noch hier posten.

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

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: TreeView Drag&Drop wahlweise als Kind einfügen

  Alt 21. Aug 2014, 10:25
Gerade über einen anderen Thread bei einer schönen Umsetzung deines Problems gelandet, allerdings für's Web. K.A. wie man das im Delphi TreeView umsetzen würde (Drag & Drop Plugin auswählen!):

cgdevtools TreeView Demo
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

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

AW: TreeView Drag&Drop wahlweise als Kind einfügen

  Alt 21. Aug 2014, 13:48
Ohja, wunderschön Genau das will ich haben... Unglaublich, aber ich kämpfe immer noch mit dem Laden der Cursor Resources... Peinlich, Peinlich. Da kann man doch nicht so viel falsch machen. Einzelne .cur für die jeweiligen Curser erzeugen. Per Projekt->"Resourcen und Bilder" hinzufügen und gescheit benennen, im Create meiner Form dann mit zB Screen.Cursors[crAddChild] := LoadCursor(HInstance, 'CRADDCHILD'); eingebunden, und nix...der Cursor lässt sich nicht ändern...gnarf.

Ich gebs gleich auf und lass es wie es ist. Das rechnet sich schon alles nicht mehr

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  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 03:39 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