pengzong155 发表于 2012-2-15 15:23:47

在arx编程中怎样屏蔽AutoCad本身的恢复、撤销机制?

现在想用arx做个小功能:
描述:
      利用arx在AutoCad中生成了很多自定义实体,现在由于一些原因,要将生成的自定义实体保护起来,即生成后不能被用户给删除掉,比如:用户不能按Del键将自定义实体删除、也不能按ctrl+z撤销已经生成好的自定义实体,有人做过么?我现在能想到的方法是用hook勾起到用户按下ctrl+z按钮,但获取到这个消息后还是不知道怎么阻止用户撤销自定义实体,高人们帮帮忙啊!!!

hgf876 发表于 2012-2-15 15:23:48

生成自定义实体前,关闭UNDO,待自定义实体生成后,再打开UNDO。

Command: undo
Enter the number of operations to undo or
<1>: c
Enter an UNDO control option <All>: none

hgf876 发表于 2012-2-15 22:12:26

从自定义实体的 subErase 函数着手,会不会有用

pengzong155 发表于 2012-2-16 09:51:07

hgf876 发表于 2012-2-15 22:12 static/image/common/back.gif
从自定义实体的 subErase 函数着手,会不会有用

恩谢谢哥们的回答,我也这样试过,但这样只对Del有用,但对撤销没用,撤销还是可以删除实体,不管在subErase中将返回值设定成什么都不行,不知道有没有什么方式可以在用户点击了ctrl+z后就直接跳过自定义实体的删除(subErase)函数呢?或者有什么其他的方式?
页: [1]
查看完整版本: 在arx编程中怎样屏蔽AutoCad本身的恢复、撤销机制?