VBA 处理AutoCAD中的事件

作者在 2010-05-01 14:49:04 发布以下内容
      事件是Windows编程的基本概念之一,Windows程序运行的过程中充满着对各种事件的处理。在AutoCAD中,为了方便程序员对事件进行处理,将AutoCAD中的事件分为三种类型:
     (1)应用程序层事件。这类事件在AutoCAD应用程序及其环境更改时被触发,例如打开图形、创建新图形、打印、AutoCAD命令执行、系统变量的更改和应用程序窗口的更改等。这类事件的特点是与具体的对象和文档无关。
     (2)文档层事件。这类事件与特定的文档有关,可以响应文档内容的更改。这些事件可以响应对象的添加、删除和修改,快捷菜单的激活,优先选择集的更改,“图形”窗口的更改以及图形的重生成。还有一些文档层事件会响应图形的打开、关闭和打印,从图形加载或卸载ARX和LISP应用程序。
     (3)对象层事件。这类事件仅包含一种,就是特定对象的修改。
      AutoCAD捕获某个事件之后,会执行事件处理程序,事件中包含的信息(例如:BeginOpen事件是的图形名称)会通过参数传递给事件处理程序。
      在进行处理时,要遵循一定的原则,简单来说就是:
     (1)不要依赖事件发生的顺序。
     (2)不要依赖操作的顺序。
     (3)不要试图从事件处理程序中执行任何交互式函数。
     (4)不要从事件处理程序中启动对话框。
     (5)可以向数据库中的任何对象写入数据,但发生事件的对象除外。
     (6)不要从事件处理程序中执行任何触发相同事件的操作。
     (7)请记住,当AutoCAD显示模式对话框时,不会触发任何事件。
CAD二次开发 | 阅读 3394 次
文章评论,共0条
游客请输入验证码
浏览95078次
最新评论