解决方案 »

  1.   

    http://topic.csdn.net/t/20030509/18/1762178.html
      

  2.   


    {  
      //1.获得菜单弹出位置  
      CPoint   pt1,pt2;  
      GetCursorPos(&pt1);  
      pt2   =   pt1;  
       
              ScreenToClient(&pt1);  
       
      //2.获得点击的item  
              HTREEITEM   RClickItem   =   NULL;  
      RClickItem   =   m_wndTree.HitTest(pt1);    
       
      if(RClickItem   ==   NULL)  
      return;  
       
      m_wndTree.Select(RClickItem,   TVGN_CARET);  
      //3.   获得索引  
      DWORD   index;  
      index   =   m_wndTree.GetItemData(RClickItem);  
       
      //4.   选定当前右键点击Item  
      // m_wndTree.SelectItem(RClickItem);  
       
                   
                        ...   ...  
      ...   ...   //do   something   you   want    
                        ...   ...    
       
      //9.记录当前右键单击Item  
      m_RclickItem   =   RClickItem;  
      *pResult   =   0;  
       
      }   
      

  3.   

    //右击列表
    void CMyTree::OnNMRclick(NMHDR * pNMHDR, LRESULT * pResult)
    {
    //变量定义
    HTREEITEM hTreeItem=GetCurrentTreeItem(); //选择列表
    if (hTreeItem!=NULL)
    {
    Select(hTreeItem,TVGN_CARET);
    }
    }
      

  4.   

    CPoint myPoint;
    UINT uFlag;
    GetCursorPos(&myPoint);
    m_tree.ScreenToClient(&myPoint);
    HTREEITEM hti = m_tree.HitTest(myPoint, &uFlag);
    hti就是那个树节点了
      

  5.   

    void CGraduateDesignDlg::OnDblclkTree1(NMHDR* pNMHDR, LRESULT* pResult) 

    // TODO: Add your control notification handler code here 
    HTREEITEM hSel = m_tree.GetSelectedItem();  //取得选项句柄 
    CString cText = m_tree.GetItemText(hSel);  //取得数据项 
    if ( cText == "详细资料" ) 

    MessageBox("详细信息"); 
    } *pResult = 0; 
    } 这是我双击的函数
    我想的是右键点击跟双击一样能够获得所点节点的值,CSTring型的
    CString cText = m_tree.GetItemText(hSel);
    然后判断这个值做出相应菜单弹出
      

  6.   

    if(hti != NULL)
    {
        CString cText = m_tree.GetItemText(hSel); 
    .......................
    ..............
    .
    .
    }
      

  7.   

    顶10楼的,我用winform时遇到过这种情况,就是双击或者左键单击能选中一个树节点,但是右键直接点击无法选中当前节点,你需要在右键点击代码中执行一段代码,让当前节点处于选中状态,然后使用HTREEITEM hSel = m_tree.GetSelectedItem();。或者像10楼那样,通过point获取节点。希望能对你有帮助
      

  8.   


    弹出的菜单无法关掉.....鼠标点哪菜单跟哪....只能关进程.
    菜单有两个选项,我想在选择之后就把菜单窗口关掉
    是用
    控件指针->ShowWindow(SW_HIDE);   
    控件指针->ShowWindow(SW_SHOW);
    么?
    具体怎么使用呢?
      

  9.   

    在消息映射里面可以找到右键点击的消息NM_RCLICK