Really like your post. Been looking for hours for a way to do something like this.
I cannot seem to get the 3rd state to work for some reason. The boxes only state checked or unchecked; never grayed out checked.
any ideas would be immensely appreciated!
Brad Martinez (http://www.mvps.org/btmtz/treeview/) published a set of code that would let you change the checkbox images by using the API to change the underlying treeview properties. With those routines you could set the node image and also change the appearance of the checkbox. But if all you need is the checkboxes and you don't care about the images, Mike's method is great. I cut/pasted the code into my project, made some superficial formatting changes, and it worked as advertised. Thanks for taking the trouble to share this, Mike!