如何用MFC实现绘图中的ctrl-z响应?

绘图的主体是用链表实现画线,请问怎么在此基础上实现用键盘进行撤销操作呢?
跪求大神指点TT

解决此问题有两个问题需要观注:
1、如何捕捉CTRL+Z消息,两种途径,一是定义加速器,在资源管理器中定义 快捷键,并与撤消菜单绑定;二是重载 PreTranslateMessage,检查用户是否按下的CTRL+Z,并执行相关操作。
2. 如何完成撤消操作。
根据程序的功能不同,简单点可以定义一个结构或类 来存储用户操作及操作对象的原始状态,如增加一个对象,删除一个对象,移动对象等,并将操作的按FILO顺序存储。当检测到CTRL+Z事件时,从用户操作栈中取出最后打操作,并执行相关的撤消操作即可。具体实现与程序功能相关,在此不再多说。
做到上面两点,重作,撤消的实现就没什么问题了
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网