TAdvTreeView: ExpandNode(Recursive) sometimes isn't executed?

Place a TAdvTreeView on your form. By default It is filled with sample data nodes in first and second level.
Add some nodes in third level. Add a button and add some code to expand the focused node recursive:

procedure TForm1.FormCreate(Sender: TObject);
  with AdvTreeView1 do begin
    AddNode(Nodes[0].Nodes[0]).Text[0] := 'Node 1';
    AddNode(Nodes[0].Nodes[0]).Text[0] := 'Node 2';
    AddNode(Nodes[0].Nodes[0]).Text[0] := 'Node 3';

procedure TForm1.BtnExpandFocusedNodeClick(Sender: TObject);
  if Assigned(AdvTreeView1.FocusedNode) then
    AdvTreeView1.ExpandNode(AdvTreeView1.FocusedNode,True);  // Expand recursive

Select the first node and click the button to expand the nodes. Nothing happens.

Now collapse the first node. Click the button to expand again. Now it works.

It seems that recursive expanding isn't executed if the level under the node is already expanded.


Once the root node is expanded, you cannot expand it twice. You will need to unrecursively collapse it, and then recursively expand it again.

  TMSFNCTreeView1.FocusedNode.Expanded := False;

In my opinion ExpandNode(<Node>,True) should completely expand the node recursively, nevertheless if all children of node are expanded already or not, if at least one underlaying child node is collapsed.
Or what is the meaning of "recursively"?
That is also the behaviour of standard TTreeView.

We will investigate if we can improve or change this behaviour.

Thank you Pieter!