明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4804|回复: 15

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

  [复制链接]
发表于 2004-6-6 17:56:00 | 显示全部楼层 |阅读模式
最近我正在编写处理文档级事件的响应代码,调试时当自己响应代码运行完以后,总要继续运行AutoCAD本身对事件的响应,例如:双击某对象都会弹出属性框等,不知道有没有办法适当的屏蔽掉一些不必要的系统响应。请教斑竹
发表于 2004-6-6 18:15:00 | 显示全部楼层
设置一个变量,保存要不要执行自己怕事件过程。如:


dim EnableEvvent as boolean


sub XXX()


if EnableEvent=false then exit sub


end sub
发表于 2004-6-6 18:36:00 | 显示全部楼层
我也很想知道如何屏蔽系统的事件?尹凡的回复我一头雾水?还是不明白?
发表于 2004-6-6 20:03:00 | 显示全部楼层
按下面的代码进行处理。
  1. Option ExplicitDim bEnableDoubleClick As Boolean'双击事件处理Private Sub AcadDocument_BeginDoubleClick(ByVal PickPoint As Variant)
  2.        If bEnableDoubleClick = False Then Exit Sub
  3.        MsgBox "DoubleClick"
  4. End Sub'允许双击事件Public Sub EnableDoubleClick()
  5.        bEnableDoubleClick = True
  6. End Sub'禁止双击事件Public Sub DisableDoubleClick()
  7.        bEnableDoubleClick = False
  8. End Sub
 楼主| 发表于 2004-6-6 20:29:00 | 显示全部楼层
TO efan2000 exit sub 可以屏蔽自己写的响应处理,但似乎无法屏蔽系统本身的响应,双击图中的对象,该响应弹框的还是弹框.似乎AUTOCAD执行完我写的响应函数以后会自动执行它本身的响应处理过程.没办法屏蔽掉.不知道斑竹试过没有,如果试过可以,请给个详细的实现思路。谢谢
发表于 2004-6-6 22:12:00 | 显示全部楼层
可能我理解错了吧,那是系统默认的,双击事件是禁止不了的。
发表于 2004-6-7 09:39:00 | 显示全部楼层
不带属性的无名块可以用


SendCommand "(Command)"


取消掉参照命令,有对话框的就没办法了
发表于 2004-6-7 21:55:00 | 显示全部楼层
可以做到。
ThisDrawing.Application.UnloadArx ("acdblclkedit.arx")
因为acdblclkedit.arx程序就是双击的程序,卸载掉了就不会出现系统的双击事件。
 楼主| 发表于 2004-6-8 20:39:00 | 显示全部楼层
谢了 斑竹辛苦
发表于 2004-6-9 09:55:00 | 显示全部楼层
mccad发表于2004-6-7 21:55:00可以做到。ThisDrawing.Application.UnloadArx (\"acdblclkedit.arx\")因为acdblclkedit.arx程序就是双击的程序,卸载掉了就不会出现系统的双击事件。

不错,不过一些基本图元的双击事件就要自己编了,有点累,^_^, 有什么好点的办法解决?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 09:42 , Processed in 0.180443 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表