sule365 发表于 2004-6-6 17:56:00

请问能不能部分屏蔽AUTOCAD本身对事件响应的功能

最近我正在编写处理文档级事件的响应代码,调试时当自己响应代码运行完以后,总要继续运行AUTOCAD本身对事件的响应,例如:双击某对象都会弹出属性框等,不知道有没有办法适当的屏蔽掉一些不必要的系统响应。请教斑竹

efan2000 发表于 2004-6-6 18:15:00

设置一个变量,保存要不要执行自己怕事件过程。如:


dim EnableEvvent as boolean


sub XXX()


if EnableEvent=false then exit sub


end sub

czbming 发表于 2004-6-6 18:36:00

我也很想知道如何屏蔽系统的事件?尹凡的回复我一头雾水?还是不明白?

efan2000 发表于 2004-6-6 20:03:00

按下面的代码进行处理。Option ExplicitDim bEnableDoubleClick As Boolean'双击事件处理Private Sub AcadDocument_BeginDoubleClick(ByVal PickPoint As Variant)
       If bEnableDoubleClick = False Then Exit Sub
       MsgBox "DoubleClick"
End Sub'允许双击事件Public Sub EnableDoubleClick()
       bEnableDoubleClick = True
End Sub'禁止双击事件Public Sub DisableDoubleClick()
       bEnableDoubleClick = False
End Sub

sule365 发表于 2004-6-6 20:29:00

TO <A name=24829><FONT color=#000066><B>efan2000</B></FONT></A>


exit sub 可以屏蔽自己写的响应处理,但似乎无法屏蔽系统本身的响应,双击图中的对象,该响应弹框的还是弹框.似乎AUTOCAD执行完我写的响应函数以后会自动执行它本身的响应处理过程.没办法屏蔽掉.不知道斑竹试过没有,如果试过可以,请给个详细的实现思路。谢谢

efan2000 发表于 2004-6-6 22:12:00

可能我理解错了吧,那是系统默认的,双击事件是禁止不了的。

雪山飞狐_lzh 发表于 2004-6-7 09:39:00

不带属性的无名块可以用


SendCommand "(Command)"


取消掉参照命令,有对话框的就没办法了

mccad 发表于 2004-6-7 21:55:00

可以做到。<BR>ThisDrawing.Application.UnloadArx ("acdblclkedit.arx")<BR>因为acdblclkedit.arx程序就是双击的程序,卸载掉了就不会出现系统的双击事件。

sule365 发表于 2004-6-8 20:39:00

谢了 斑竹辛苦

雪山飞狐_lzh 发表于 2004-6-9 09:55:00

mccad发表于2004-6-7 21:55:00static/image/common/back.gif可以做到。ThisDrawing.Application.UnloadArx (\"acdblclkedit.arx\")因为acdblclkedit.arx程序就是双击的程序,卸载掉了就不会出现系统的双击事件。


<BR>不错,不过一些基本图元的双击事件就要自己编了,有点累,^_^,


有什么好点的办法解决?
页: [1] 2
查看完整版本: 请问能不能部分屏蔽AUTOCAD本身对事件响应的功能