CTreeCtrl中的消息映射问题
怎么响应对树上某一个节点的双击?CTreeCtrl是用creat()函数建立的,所以不能用withard来映射消息
MainFrame下一个类似面板的东西,我的tree就建在这个面板上现在想在MainFrame类中响应tree的双击
按理说MainFrame不是tree的父结点,而是爷爷结点
这样ON_NOTIFY()在MainFrame类中管用吗?我是这样加的
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_COMMAND(ID_FILE_NEW, OnFileNew) ON_NOTIFY(NM_DBLCLK,ID_TREE_CTRL, OnTreeDbClick) //}}AFX_MSG_MAP
END_MESSAGE_MAP()但不管用呀。另:即使响应了我的双击,我怎么知道是双击的那个结点呢???
哪有类似的代码???谢谢!!!!!!!

解决方案 »

  1.   

    还是派生CTreeCtrl后再响应比较好。
    为什么钻牛角尖非要在MainFrame类中响应tree的双击。
      

  2.   

    icelight(icelight) 谢谢!我第一次编tree,就直观的想在MainFrame类中响应tree的双击
    这样我以后的工作比较好作。呵呵,看来碰上难题了!!!!!!难道真的很难??派生怎么做呀?
    谢谢!!!
      

  3.   

    什么是MainFrame下一个类似面板的东西
    你的CTreeCtrl在哪里创建的,为什么不用CTreeView
    不在CMainFrame中创建,ON_NOTIFY()在MainFrame类中肯定不管用
    只能在直接拥有TreeCtrl的窗口中响应此消息
    当然你也可以令此通知消息处理函数再次发消息给CMainFrame,
    或者直接调用CMainFrame的函数
      

  4.   

    Q: 怎么知道是双击的那个结点呢A: ::GetMessagePos 加上 CTreeCtrl::HitTest()
      

  5.   

    zwvista(球迷程序员) 多谢指点!!!我的程序就是用的这个
    http://www.vckbase.com/document/viewdoc.asp?id=257
    类似面板的东西就是左面主框架下的一个从CControlBar派生下来的bar
    CTreeCtrl就是在那里用creat()建立的上面提到的
    “当然你也可以令此通知消息处理函数再次发消息给CMainFrame,
    或者直接调用CMainFrame的函数

    怎么实现??