...
There is one problem with this concept - what if I want to use just default TTreeView functions and not my own (like GetMyNode)?
Like Manny wrote:
TreeView1.Selected.MyProperty := 'some string';
- he want to use original "Selected" property.
I have an idea of making my own TTreeNode (TMyNode with MyProperty) + change definitions in TTreeView and TTreeNodes and force them to use TMyNode instead of TTreeNode...
Simpliest way to do this is just modify code of TTreeNode (in comctrls) but this is little bit creepy,
so the real question is how to do this in my own new (TMyTreeView) component.