Версия для печати

Как проверить, развернут ли полностью TTreeView?

Оцените материал
(0 голосов)

Как проверить, развернут ли полностью TTreeView?

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;
   end
   else
      Result := false;
end;

 

procedure TMainFrm.Button1Click(Sender: TObject);
begin
   if IsTreeviewFullyExpanded( TreeView1 ) then
      ShowMessage( 'TTreeView полностью развернут' );
end;