由CTreeCtrl派生一个CClassTree,我在别的窗口中生成一个CClassTree的对象:
CClassTree* m_Tree=(CClassTree*)GetDlgItem(IDC_TREE1);在这个类中添加什么函数响应鼠标单击事件?
我用过NM_CLICK,TVN_SELCHANGED,TVN_SELCHANGING可是都没反应.

解决方案 »

  1.   

    可以的,我用过。你为这个Tree绑定CClassTree类型的变量了吗(例如在对话框中为Tree控件定义一个CClassTree类型的变量)?如果没有,是不行的,因为消息循环没有用你这个类的。如果由于某种原因不能定义,可以使用如下方法:
    CClassTree tree;
    tree.SubclassWindow(GetDlgItem(IDC_TREE1)->m_hWnd);
      

  2.   

    补充,如果使用
    CClassTree tree;
    tree.SubclassWindow(GetDlgItem(IDC_TREE1)->m_hWnd);必须保证在控件的生存期内,tree变量都是有效的,不可使用临时变量。