建了一个两层的树,A B C 是三个父节点,每个父节点都会有多个子节点
树已建好现在想在右键单击树时弹出一个功能菜单,只在单击父节点的时候才弹出这个菜单。
会的朋友指点下!

解决方案 »

  1.   

    先用HitTest得到树节点Item,判断GetParentItem(Item)是否为空.
      

  2.   

    捕获树形控件的右键消息
    void CMyTree::OnRclick(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    HTREEITEM  ht; if ( ( ht = this->GetSelectedItem() ) != NULL )
    {
    //A B C无根节点
    //且没父节点了,则显示菜单
    if ( GetParentItem(ht) == NULL )
    //显示功能菜单
    //A B C存在一个根节点
        //则需要
    // if ( GetParentItem(ht) == GetRootItem() )
    // //显示功能菜单
    }
    *pResult = 0;
    }