Einzelnen Beitrag anzeigen

DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

VST Node ausklappen

  Alt 3. Dez 2023, 12:29
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;
  Mit Zitat antworten Zitat