自己做的资源管理器中
左边是文件夹的树结构如果在系统中添加或删除文件夹需要在这个中刷新但我只能用OnInitialUpdate ();使其重新显示
不知道怎样恢复原来的节点展开的样子有的朋友说要把节点的展开与否的情况写入节点itemdata中
可是我是重新显示了,原来的节点应该都没有了呀,还可以吗?还有说可以把展开的节点记下
但是刷新后节点都会变呀,记下来还能和以前的一样吗?请帮帮忙吧
哪位有相关的例子,可以发给我一份吗?
谢谢!!!

解决方案 »

  1.   

    我没有做过视图文档类的CTreeView
    我觉得可以利用映射类,在添加新的节点后添加节点句柄与展开状态的映射,
    然后再进行树型控件的刷新,从新生成时,需要根据此映射表来确定节点的展开状态。在触发Expand消息时,也需相应的修改此映射表。
    思路如此
    没有试过
    但愿对你有用。
      

  2.   

    zhangyilan:
    我觉得这可能对我来说比较复杂
    其实我只是初学VC,而且是自己摸索的,没什么人指导,也没系统地学过但是,我能大概明白你的意思。那如果有新建的文件夹或是新删除的,怎么办呢?能修改这个映射表吗?谢谢你!
      

  3.   

    我做一个CDialog的试试
    因为在CDialog中添加后,使用UpdateData(FALSE);刷新的话,不会将已经展开的项收起来。所以我不知道在视图文档类中是怎样的效果。
    我想只能给你演示一下映射类的使用了
    新建的文件夹或是新删除的都可以修改这个映射表。
    留下你的mail
      

  4.   

    谢谢zhangyilan(数字通信)如果有好消息可以和我联系呀:)