树视图控件(tree control)
我想实现节点像windows对文件夹的重命名一样,使用点击右键选择“重命名”后在节点输入新名称即可。

解决方案 »

  1.   

    你可以捕获鼠标点击消息...然后在点击的地方动态生成一个CEdit..然后当它失去焦点的时候..将输入的值赋值到对应的节点..再清除该CEdit...或者让树控件包含一个CEdit变量..用的时候在特定位置显示.不用则隐藏...要代码可以看看www.codeproject.com上面的
      

  2.   

    1.添加鼠标右键事件NM_RCLICK与弹出式菜单TrackPopupMenu
    2.添加处理重命名
    EditLabel激活编辑
    TVN_BEGINLABELEDIT--开始编辑结点文本
    TVN_ENDLABELEDIT--完成编辑结点文本
      

  3.   

    重载OnBeginlabeledit
    void CColorTreeView::OnBeginlabeledit(NMHDR* pNMHDR, LRESULT* pResult) 
    {
      BOOL bEnbleEdit = ...
    TV_DISPINFO* pTVDispInfo = (TV_DISPINFO*)pNMHDR;
    *pResult = bEnbleEdit ? 0 : 1;  // 0允许修改,1不允许修改
    }
    重载OnEndlabeledit做修改后的处理