产品型号
     方案1
     方案2当选中一节点时,用GetItemText(hItem)可以获得当前节点的text值,如何通过一edit的输入,将text值修改为新的值。新的字符串应该对谁赋值?我只知道开始创建节点时的方法
 RootItem.iten.pz..=Name.GetBuffer()

解决方案 »

  1.   

    UP,就是SetItemText就可以了呀
      

  2.   

    对头,SetItemText
    不过Tree要设置成可编辑模式
      

  3.   

    把tree控件的属性设置为Editlabels,然后重载他的OnEndlabeledit()函数:
    void CDlgFenlei::OnEndlabeledit(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
    // TODO: Add your control notification handler code here
    if(pTVDispInfo->item.pszText!=NULL && *pTVDispInfo->item.pszText!=0){
    //Validate Check:
    if(m_Fenlei.GetParentItem(pTVDispInfo->item.hItem)!=NULL)//如果不是根节点,就要检查内容是否合法。
    {
    CString sTxt = pTVDispInfo->item.pszText;
    if(sTxt.Find("-")<=0)
    {
    AfxMessageBox("当前分类节点信息有错误,应该为\r\n\"分类号-分类名称\"的格式,如\"12-哲学史\",\r\n\r\n注意中间用中文横线分隔。");
    m_Fenlei.EditLabel(pTVDispInfo->item.hItem);
    return ;
    }
    }
    pTVDispInfo->item.mask = TVIF_TEXT;
    m_Fenlei.SetItemText(pTVDispInfo->item.hItem,pTVDispInfo->item.pszText);
    m_Fenlei.SelectItem(pTVDispInfo->item.hItem);
    m_bModified = true;
    }
    *pResult = TRUE;
    }