...check if a TreeView is fully expanded or collapsed?

Author: P. Below
Homepage: http://www.teamb.com

Category: VCL

function IsTreeviewFullyExpanded(tv: TTreeview): Boolean;
var
  
Node: TTreeNode;
begin
  
Assert(Assigned(tv));
  if tv.Items.Count > 0 then
  begin
    
Node   := tv.Items[0];
    Result := True;
    while Result and Assigned(Node) do
    begin
      
Result := Node.Expanded or not Node.HasChildren;
      Node   := Node.GetNext;
    end{While}
  
end {If}
  
else
    
Result := False
end;

function IsTreeviewFullyCollapsed(tv: TTreeview): Boolean;
var
  
Node: TTreeNode;
begin
  
Assert(Assigned(tv));
  if tv.Items.Count > 0 then
  begin
    
Node   := tv.Items[0];
    Result := True;
    while Result and Assigned(Node) do
    begin
      
Result := not (Node.Expanded and Node.HasChildren);
      Node   := Node.GetNext;
    end{While}
  
end {If}
  
else
    
Result := False
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base