有一个CPtrList 类型的变量。 指向TreeNode类型在treeCtrl中加入一个item后,把相关的信息加入ptrList中。经过treeCtrl.DeleteAllItems()后。如何根据ptrList中的值再次把原先的值加入到treeCtrl中。

解决方案 »

  1.   

    TreeNode类型是不是就是HTREEITEM类型?如果是该类型的话,那么treeCtrl.DeleteAllItems()后,你保存的HTREEITEM句柄都是无效的吧?是不是应该考虑保存节点上的数据信息,然后重建该TREECTRL呢?
      

  2.   

    经过treeCtrl.DeleteAllItems()后。
    你做了这个操作以后,对应的CPtrList中链表也要做对应的删除节点操作
      

  3.   


    TreeNode里还有其他信息,开始HTREEITEM是里面的一个成员,  在插入treeCtrl之前保存父节点的HTREEITEM信息,但是后来重构出来的TreeCtrl数量一样,但是结构变了。那么treeCtrl.DeleteAllItems()后,你保存的HTREEITEM句柄都是无效的吧
      

  4.   


    这个操作只是为了清空控件。本来的目的就是为了根据链表中的数据重现TreeCtrl