If you want to detect a click at a finer grain than a single item and paint only part of an item as selected then you're going to need to override both selection and painting for the TreeControl.
You'll need to look up the details of what is called
CustomDraw and if that is not enough you may have to resort to
OwnerDraw although I don't think I've ever seen a fully OwnerDraw Tree Control, that is a lot of hard work.
For the partial item click detection you'll need to hook into the ordinary item based click detection, then get the exact position the mouse was at when the message was sent which is available although I can't immediately remember how you get it.
Then you'll need to do the sub item calculation yourself probably based on information cached when you did the custom item painting.
You'll also need to store a set of selection states, 1 bit per sub item will probably do, alongside your other item data so that you know whether to paint each sub item as selected or unselected when you get a paint request.
You'll definitely need a pile of sample code to get all the right things in the right places for a Custom Draw Tree Control but I'm sure there are helpful CP articles like
this one [
^]to get you started.