![]() |
VST Node ausklappen
Ich habe über die Jahre leider vergessen wie man einen Node ausklappt.
Mein VST bekommt die Daten von einer ObjectList. Jede Node hat ein Child. Das funktioniert auch. Aber ich möchte, nachdem alle Nodes im VST sind, alle aufklappen.
Delphi-Quellcode:
procedure TForm1.VSTInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);
var NodeData: TData; begin NodeData := nil; // Valium for the compiler if Sender.GetNodeLevel(Node) = 0 then begin Include(InitialStates, ivsHasChildren); NodeData := DataClasses[Node.Index]; end else begin NodeData := Node.Parent.GetData<TData>(); end; Node.SetData<TData>(NodeData); end; procedure TForm1.VSTInitChildren(Sender: TBaseVirtualTree; Node: PVirtualNode; var ChildCount: Cardinal); begin ChildCount := 1; end; procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); var NodeData: TData; begin NodeData := Node.GetData<TData>; if not Assigned(NodeData) then Exit; if Sender.GetNodeLevel(Node) = 0 then CellText := NodeData.FCaption else if Sender.GetNodeLevel(Node) = 1 then CellText := NodeData.FSubCaption; end; |
AW: VST Node ausklappen
Vielleicht zu kurz gedacht, aber 'FullExpand' klappt alle Nodes aus.
Gruß Ralf |
AW: VST Node ausklappen
|
AW: VST Node ausklappen
Weder Expanded[] noch FullExpand bewirken komischerweise etwas.
Problem gelöst. Include(InitialStates, ivsExpanded); hat in Init gefehlt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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 by Thomas Breitkreuz