Let me disagree with you.
Point me to where is the definition of tree object (+) / (-)? This is not a Node. Nodes are: 'Root', 'Docs', 'Folder', 'Notes'
(+) / (-) these are elements that have no definition, and as such values in Tree. So they are not part of a tree - in the sense that Expanded / Collapsed does not affect tree values.
They only serve to change the presentation of tree elements. And therefore they are handled separately from the rest of the tree.

It's your right to be in disagreed.

I was wrong.

I noted these _HMG_This_TreeItem_Value := NIL at h_windows.prg and I thought tremendaly wrong. But it seems not.

Sorry to cause confusion and I thank you very much your valious patient.

HMGing a better world"Matter tells space how to curve, space tells matter how to move."Albert Einstein

Cool that I could help.
It is important to note how Node and Item images are stored.
If they are in the definition of "main tree":
NODEIMAGES {"NODE1_CL", "NODE1_OP"};
ITEMIMAGES {"PAGE_CL", "PAGE_OP"};
Get indexes:
NODEIMAGES {0, 1};
ITEMIMAGES {2, 3};

Yes Edward you helped much meanly to understand more about this event and also I understood.

I will wait Dr. Claudio answer to my questions but I am still thinking that I was not so wrong.

What idea is this to change TreeItemValue value at EXPAND/COLLAPSE event ? And why attribing to NIL ?

WHY, WHY ?

Can you test my changing indications a creating another HMG version for testing proposes ?

You will see that's working in better way.

I am really suprised that TreeItemValue worked properly at EXPAND/COLLAPSE event trigging function. But I believe this happinig OK cause the attrib to NIL were not be actioned yet (in prior of running the UDF). Do you understand me ?

HMGing a better world"Matter tells space how to curve, space tells matter how to move."Albert Einstein