![]() |
Virtual String Tree: Nodecaption wird nicht gesetzt
Hi,
da ich in ![]()
Delphi-Quellcode:
type
PTreeData = ^TTreeData; TTreeData = record Str: String; end; ... procedure TfrmMain.FormCreate(Sender: TObject); begin VST.NodeDataSize := SizeOf(TTreeData); end; procedure TfrmMain.addNodeClick(Sender: TObject); var Data: PTreeData; Node: PVirtualNode; begin Node := VST.AddChild(nil); Data := VST.GetNodeData(Node); VST.AddChild(Node); Data.Str := Edit1.Text; end; procedure TfrmMain.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: Integer; TextType: TVSTTextType; var CellText: WideString); var Data: PTreeData; begin Data := VST.GetNodeData(Node); CellText := Data.Str; end; procedure TfrmMain.VSTFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode); var Data : PTreeData; begin Data := VST.GetNodeData(Node); Data.Str := ''; end; |
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
Zitat:
Also ERST die Data.eigenschaft des Nodes setzen und DANN den Node dem VSt zufügen. Moin |
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
Hi,
Delphi-Quellcode:
procedure TfrmMain.addNodeClick(Sender: TObject);
var Data: PTreeData; Node: PVirtualNode; begin Data := VST.GetNodeData(Node); Data.Str := Edit1.Text; Node := VST.AddChild(nil); <-- AV VST.AddChild(Node); end; |
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
Ohne die Komponente näher zu kennen würde ich sagen "AddChild" erwartet das ParentNode, denn wohin soll sonst das Child wenn kein Parent angegeben wird? Also solltest du da wohl nicht "nil" übergeben.
Aber wie gesagt kenn ich die Komponenten nicht und denke dies nur Anhand des Namens der Methode. |
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
Leute, was macht ihr da? ;-)
Delphi-Quellcode:
procedure TfrmMain.addNodeClick(Sender: TObject);
var Data: PTreeData; Node: PVirtualNode; begin Node := VST.AddChild(nil); Data := VST.GetNodeData(Node) Data.Str := 'so gehts'; end; |
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
*g* wenn ich das jetzt so sehe kommt die AV wohl eine Zeile über der angegebenen weil Data nicht initialisiert ist.
|
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
- Node definieren (Node := VST.AddChild(nil) erstellt mir zusätzlich noch den Grundnode) - VST.AddChild(Node) erstellt mir ein Unteritem, welches von dem vorher erstellten ausgeht (deshalb nil, weil der Parent für SubItems gedacht ist). Zitat:
Delphi-Quellcode:
[edit]Ich habe nicht ohne Grund den ganzen Code gepostet, vlt. liegt der Fehler auch an einer anderen Stelle begraben.[/edit]
procedure TfrmMain.addNodeClick(Sender: TObject);
var Data: PTreeData; Node: PVirtualNode; begin Node := VST.AddChild(nil); VST.AddChild(Node); Data := VST.GetNodeData(Node); Data.Str := Edit1.Text; end; Node war noch nicht initialisiert. So wird das aber nichts: |
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
Moin :-))
@nils_13: bist du sicher, dass du im ObjektInspektor dem VST das Ereignis 'OnGetCellText' auch der entsprechenden Prozedur zugewiesen hast? Ich weiß, ich vllt. ne dumme Frage, aber wenn du das nicht gemacht hast, dann kann dem Node auch nicht der Text aus dem EditFeld zu gewiesen werden und somit bleibt der DefaultText (siehe im OI die entsprechende Eigenschaft) standardmäßig auf Node :!: Im Übrigen ist der gepostete Code von Dir durchaus richtig und funzt soweit auch! |
Re: Virtual String Tree: Nodecaption wird nicht gesetzt
:oops: keine dumme Frage :oops: Ich dachte, dass hätte ich gemacht, wohl doch nicht. Danke für eure Hilfe :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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