Often we need to make a TreeView with checkboxes that have more than 2
states. Consider for example the TreeView of files and folders in a tape
backup program. If the subordinate nodes of a particular node are partly
checked and partly unchecked, then the node itself has a gray checkmark.
I've hit on a way to do this with pure .NET functions, without using Win32
HitTest. See:
http://www.covingtoninnovations.com/...ex.html#050621
I can't release my code because it's for a commercial client, and indeed it
isn't all written yet, but I hope the description on that web page will be
enough to get people started. Enjoy!