TVirtualStringTree versus TMS Components

Is there a TMS component which has similar options as the TVirtualStringTree component?

I found out that it is possible to handle nodes in the TAdvStringGrid component. But is it possible to handle child nodes as shown above?

Thank you in advance for your help.

In TAdvStringGrid it is possible to have child nodes. If you add a new node within the span of an existing node, it will behave as a child node.

Is there an example (C++ preferred) available where I can see how this works?

See page 90 of the TAdvStringGrid Developers Guide:

You can also have a look at demo 11: