Einzelnen Beitrag anzeigen

Alloc

Registriert seit: 18. Apr 2005
Ort: Griesheim
167 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Nodes in VirtualStringTree verschieben.

  Alt 19. Dez 2006, 21:49
Hi Chris,

im Prinzip ist ein Großteil des Codes ja nur dazu da, zu erkennen, ob die Move-Aktion erlaubt werden soll.
Das VST bietet dazu zwei Events:
1. OnDragAllowed: Dort kann man beim Versuch des Nutzers einen Node zu bewegen sagen, ob der gerade aktive Node verschiebbar sein soll.
2. OnDragOver: In diesem Event kann man während des Bewegens eines Nodes angeben, ob der Node an der aktuellen Stelle eingefügt werden darf. Den Parameter "Mode" beachten. In dem Event kannst du dem Nutzer auch visuell zeigen, dass er einen Node an der aktuellen Stelle nicht droppen kann.

Hilft zwar nicht unbedingt soviel beim Code sparen, aber damit hast du schonmal einiges an Übersichtlichkeit gewonnen. =)

Gruß,
Chris

/Edit: Um den zu verschiebenden Node und das aktuelle Ziel-Node in OnDragOver zu bekommen, VST.FocusedNode und VST.DropTargetNode verwenden.
Christian Illy
ONI2.net, basicly every important link about Oni.
  Mit Zitat antworten Zitat