tree control中有两个父结点,我想让第一个父节点以及他下面的子结点不可以编辑,第二个父结点可以编辑,可以吗?我现在是所有结点都可以编辑,急,在线等,万分感谢

解决方案 »

  1.   

    在TVN_BEGINLABELEDIT中判断啊,如果是第二个父节点就啥也不干直接返回
      

  2.   

    void CAaDlg::OnBeginlabeleditTree1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
    // TODO: Add your control notification handler code here m_csedit_pre = m_tree.GetItemText(m_tree.GetSelectedItem());

    if (m_tree.GetSelectedItem() != 0)
    {
    m_tree.ModifyStyle(NULL, TVS_EDITLABELS);
    m_tree.EditLabel(m_tree.GetSelectedItem());
    }
    return ;
    *pResult = 0;
    }这么写对吗?这么写的话都不可以编辑了
      

  3.   

    问题解决了  但是是用笨方法解决的,在OnBUTTONEdit设定的条件
      

  4.   

    OnBeginlabeleditTree1里面pTVDispInfo-> item.hItem,你判断这个是不是你想要的结点就可以了。