CCheckTreeCtrl m_tc;//派生自CTreeCtrl
m_tc.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES|TVS_CHECKBOXES,
CRect(10, 10, 300, 500), this, 0x1005);TVN_SELCHANGED :这个消息不能监听到
NM_CLICK :这个倒是能够监听到,可是我不知该如何处理!

解决方案 »

  1.   

    用HitTest得到当前点击的Item,然后用 GetCheck 判断该Item是否被Check
      

  2.   

    http://community.csdn.net/Expert/topic/4940/4940338.xml?temp=.4925348.
    以前有人问过这个问题.你可以看看.
      

  3.   

    但是打勾的时候,不能触发TVN_SELCHANGED !
      

  4.   

    打勾也可以触发WM_LBUTTONDOWN事件啊.你在这里做你想做的事.你可以控制所有的ITEM的状态.
      

  5.   

    但是,down的时候你所选择的checkbox还没有被设置!这个时候获取的状态有问题啊
      

  6.   

    多谢提醒,我知道了:
    把 CTreeCtrl::OnLButtonDown(nFlags, point);放在前面就行了,默认的放在后面