文档详情

第9篇 反应器.pdf

发布:2017-05-22约1.22万字共10页下载文档
文本预览下载声明
9 章 反应器 本章简介8 反应器的概念和作用 反应器的实现机制。 反应器的使用。 学习要点 了解 应器的概念和作用。 掌握编辑 应器的使用。 掌握数据库 应器的使用。 Obj ectARX 为开发者提供了 应器机制,它类似于MFC 的消息处理,利用它我们 可以响应输入事件、实体添加/编辑/删除等事件。常见的AutoCAD 反应器有:编辑 应器AcEditorReactor、实体 应器AcDbEntityReactor、对象反应器AcDbObj ectReactor、 图形数据库 应器AcDbDatabaseReactor、文档管理 应器(AcApDocManagerReactor ) 等,不同的 应器用于监控不同的事件,本章中介绍一下反应器操作相关的内容。 9.1 通知消息 当在AutoCAD 中发生各种事件的时候,例如执行AutoCAD 命 、修改系统变 量、保存和退出图形编辑或者切换当前工作布局空间等等,事件通知者对象会自 动地把这个事件传递给事件接收者对象,接收到消息后, 应器对象会对事件做 出相应,可以对触发事件的对象执行查询或编辑操作. 事件接收者对象称为 应器,一个特定的事件通知者对象可以拥有不同类型 的反应器,以便监视不同类型的事件,开发者可以根据需要向事件通知者对象的 应器列表中添加特定的反应器对象,当一个事件发生的时候,通知者对象会调 用其 应器列表中的每个反应器所对应的通知函数。如果 9-1 说明了事件的处理 PDF 文件使用 pdfFactory Pro 试用版本创建 第1章 AutoCAD 开发概览 过程。 图9-1 事件处理过程 处理过程说明: 1. 在ObjectARX 程序创建 应器对象。 2. ObjectARX 程序将反应器对象附着给事件的触发者AcDbLine 对象 。 3. AcDbLine 对象改变,想 应器发送objectModified 通知消息 。 4. 应器对象接受事件,针对事件做出相应的处理。 9.2 反应器概述 应器类是从AcRxObj ect 类中派生而来,而不是从AcDbObj ct 类派生而来, 应器的类型不同,接收的事件也不相同。如图9-2 给出了反应器类的层次结构。 AcRxObject AcApDocmanagerReactor AcApLongTransactionReactor AcDbDatabaseReactor AcDbObj ectReactor AcDbEntityReactor AcDbRasterImageDefFileAccessReactor AcDbRasterimageDefTransReactor AcEdInputContextReactor
显示全部
相似文档