CTreeCtrl三种状态源代码中并没有实现,可以通过后期继承修改实现,最终实现的效果如下图所示:

MFC CTreeCtrl复选框3态实现效果_mfc

关键点在于SetItemState(hItem, INDEXTOSTATEIMAGEMASK(nState), TVIS_STATEIMAGEMASK); 实现