使用COMMAND方式进行回退与重做操作时,需要有两种不同的对待对象的方式,其一是创建对象,其二是修改对象。在THE CODE PROJECT上,Yingle Jia有一篇文章介绍了一种Undo/Redo的简单实现,名为《A Basic Undo/Redo Framework For C++ 》。但是里面没有针对对象的属性进行回退。我将他的代码进行了不大的改动之后,可以实现对对象属性的修改也同样可以回退和重做,具有一定的通用性。在用户使用该方法时,只需要自己实现自己的COMMAND类(必须从CCommand继承)即可。
在例子中,用户只要单击鼠标左键即可加入一个矩形对象,在矩形对象上单击鼠标右键即可改变矩形对象的大小。点击回退或重做即可回退或重做。
没有很漂亮的图标,只是希望思想能够对读者有用:)。
[代码性质]
VC完整应用程序代码
[代码作者] 崔勇
[文件大小] 26K
[更新日期] 2004-8-25 20:31:00
[下载次数] 2906
--------------------next---------------------
阅读(300) | 评论(0) | 转发(0) |