我在MainFrame.h里面定义了CTreeCtrl,将它绑定到一个窗口里,当点击它的时候,在哪里侦听到它的消息?

解决方案 »

  1.   

    在哪里相应消息?只有一个CTreeCtrl m_wndTree;变量。怎么写相应函数,在哪里设置观测点?
      

  2.   

    你的CTreeCtrl是动态创建的?还是以资源的方式托到对话框模板上去的呢?
      

  3.   

    就是这样定义的 CTreeCtrl m_wndTree;
    m_wndMyBar1 类似于工具条int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    if (!m_wndTree.Create(WS_CHILD|WS_VISIBLE|
    TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT,
    CRect(0, 0, 0, 0), &m_wndMyBar1, 100))
    {
    TRACE0("Failed to create instant bar child\n");
    return -1;
    }
    m_wndTree.ModifyStyleEx(0, WS_EX_CLIENTEDGE);
    }
      

  4.   

    你应该在CView类中创建CTreeCtrl吧
      

  5.   

    ON_NOTIFY(NM_CLICK, IDC_TREE1, OnClickTree1)
      

  6.   

    楼上这句:ON_NOTIFY(NM_CLICK, IDC_TREE1, OnClickTree1)有点启发,先试试看。多谢楼上。
      

  7.   

    BOOL CMainFrame::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
    {
    // TODO: Add your specialized code here and/or call the base class

    return CMDIFrameWnd::OnNotify(wParam, lParam, pResult);
    }我是定义在CMainFrame里,是在这里拦截吗?参数可以一一对应吗?
      

  8.   

    通过WM_NOTIFY机制实现消息通知