1。我的treeview只能用鼠标左键选择各项,如何让右键也能选择?2。我在treeview中创建了一个浮动菜单,但为什么每次要双击才能显示出(而在listview中单击就可)?

解决方案 »

  1.   

    1.右击时调用
    hittest得到光标所在点的HTREEITEM,然后ctreectrl.selectitem2.没遇到过这种问题
      

  2.   

    第一个问题,在OnRButtonDown(UINT nFlags, CPoint point)函数中添加:
    //让右键也能选择节点,便于操作;
    UINT uFlags;
    HTREEITEM oldSelectItem = m_TreeCtrl->GetSelectedItem();
    HTREEITEM hItem = m_TreeCtrl->HitTest(point, &uFlags);if(hItem != NULL && oldSelectItem != hItem)//如果不为空且和原来选中的节点不同;
    m_TreeCtrl->SelectItem(hItem);第二个问题:
    是“每次”还是只有在失去焦点后“第一次”获取焦点时必须点击两次?如果是第二种情况,那么第一次点击只是为了获取焦点,第二次才执行命令;如果是第一种情况,可能是消息响应错误,跟踪一下