Visual C++ MFC 在一个对话框怎么样实现undo功能,例如按下一个Button,即能撤销上次输入的操作

问题是所有动作保存起来,这样对于大的程序好像难度比较大,我是想能不能通过this指针来完成... 问题是所有动作保存起来,这样对于大的程序好像难度比较大,我是想能不能通过this指针来完成 展开
 我来答
redfloyd
2012-08-27 · TA获得超过437个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:255万
展开全部
听说在设计一个编辑器的时候,撤销操作一直是一个难点。我所能想到的,也只是保存上次操作时,系统发出的消息,捕获它,获取相反的动作。我想您说的这个撤销功能,应该是编辑撤销,而不包括按键响应之类的吧。如果是按键响应这一类动作的撤销,您不妨就设置一个的Vector,在每一个按键响应函数内,将反向动作的函数指针添加到Vector中,当您按下那个Button的时候,调用Vector中的最后一个指针,然后删除它。如果是文本编辑类型,恐怕难度会大一些吧。至于this指针,我想不出怎么利用它。
重小楼666
2012-08-22 · TA获得超过355个赞
知道小有建树答主
回答量:223
采纳率:100%
帮助的人:205万
展开全部
这你需要把所有执行的动作保存起来,然后执行相反的动作
比如你上次向上移动了一段距离,撤销时,你需要向下移动相同的距离
追问
所有动作保存起来,这样对于大的程序好像难度比较大,我是想能不能通过this指针来完成?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fobnn
2012-08-22 · TA获得超过573个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:347万
展开全部
这个简单,响应BUTTON消息。 然后处理啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式