我设计了一个文档对应三种视图,这三种视图全部是在一个CTreeCtrl里绘制的。在菜单里可以控制当前应该显示哪个视图。问题是,我从视图1变成视图2,然后变成3,最后又变回1(此时文档本身没变),这时请问如何保持上一次视图1各个项目的状态(例如展开,选中)能保持不变的显示出来?对于像CListCtrl那样的,建一个状态数组就好了,但现在是一个树。请问如何解决? 谢谢。

解决方案 »

  1.   

    记住是那个选中了,刷新后,再选中好了
      

  2.   

    显示其中一种视图时,其他两种视图别销毁,只隐藏(如果销毁,很麻烦而且可能影响性能),这样就不存在刷新的问题,也不会改变状态,我常这么做
      

  3.   

    记录吧,操作起来逻辑明确一些
      

  4.   

    我该记录什么呢,对于一棵树,难道记录所有的?
      

  5.   

    呵呵,如果实在等不到的话,不妨尝试一下我的方法……