![]() |
VST Childnode an eine Node dranhängen
Für heute habe ich noch eine letzte Frage. Vermutlich die letzte. Wie hänge ich eine Childnode an eine Node dran?
Ich lade meine Daten alle in Klasseninstanzen, diese wieder alle in eine generic ObjectList. Im InitNode, FreeNode Event, GetText und allen anderen initialisiere ich, zeige an und gebe frei. Wie schalte ich jetzt eine Childnode unter eine Node auf, sodass ich die Node mit + und - auf- und zuklappen kann? |
AW: VST Childnode an eine Node dranhängen
Zeig mal dein InitNode.
|
AW: VST Childnode an eine Node dranhängen
In meinem InitNode-Event steht eine Zeile.
Delphi-Quellcode:
TKSData ist die Klassenimplementierung mit Gettern und Settern von der die Klasseninstanzen erstellt werden die dann in meine ObjectList kommen.
procedure TKSListEvents.InitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);
begin Node.SetData<TKSData>(KSData[Node.Index]); end; KSData ist die angesprochene generic TKSData ObjectList. |
AW: VST Childnode an eine Node dranhängen
Anhand welcher Kriterien werden Children gebildet?
Also wodurch weißt du in den einzelnen Instanzen von TKSData, dass sie noch Kinder haben? Ich nehme an, du setzt anhand der Länge von KSData die RootNodeCount des VST? Es gibt sowas ähnliches mit ChildCount:
Delphi-Quellcode:
var
Node: PVirtualNode; I: Integer; begin for I:=1 to 100 do begin Node:=VST.AddChild(nil); VST.ChildCount[Node]:=10; end; end; |
AW: VST Childnode an eine Node dranhängen
Zitat:
Zitat:
|
AW: VST Childnode an eine Node dranhängen
Häng im InitNode Event den Status ivsHasChildren an InitialStates an. Hierdurch erhälst du das + vor der Node. Wenn du dann die Node per Klick auf das + öffnen willst, wird OnInitChildren aufgerufen. Dort kannst du dann den ChildCount angeben. Das ist der richtige Weg. AddChild() sollte man nicht verwenden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 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