我现在在做一个报表设计软件,请问下如何做撤消?重做操作?给个思路谢谢了

解决方案 »

  1.   

    undo/redo?
    写一个命令链表,把你的每一步操作都记录下来,undo的时候调用链表中的前一条命令执行,redo调取后一条。
    当然你的数据操作要有可逆过程,也就是说你在undo的时候,要有把这次操作的数据恢复成上一次的现场的能力。
      

  2.   

    使用链表吧,list或者CPtrList等存储这些有用的信息,然后当撤销时,从最后一条中删除,
    或者有更好的方法,期待中
      

  3.   

    撤销时从最后一条中删除岂不就没法redo了,应该是undo的时候不删除,如果下一步操作不是redo,而是一个新的用户操作,这个时候再把链表中当前项以后的所有项删除并把新的操作放到链表尾部。
      

  4.   

    链表记录,undo与redo顺序查找就可以了