使用反应器
要使用瞬态反应器,请从以下基类之一派生一个新类:
在大多数情况下,只需要标准的C++技术来创建新的瞬态反应堆类别。ObjectARX 宏用于为新的 reactor 类创建类描述符对象,通常不用于从这些 reactor 类派生。 每个父类都包含一组虚拟通知函数,这些函数可由新派生的类实现。例如,该类包含以下响应对象相关事件的通知函数:AcDbObjectReactor
其中每个函数都需要指向事件通知方的指针。基类 具有所有这些函数的实现。在派生的 reactor 类中,实现与感兴趣的通知类型相对应的函数。然后实例化反应器,并使用该函数将其添加到任意数量的数据库对象中。若要在通知程序对象中添加瞬态反应器或从通知程序对象中删除瞬态反应器,该对象可以在任何状态(读取、写入或通知)下打开。撤消机制不会监视添加或删除瞬态反应器。(对于持久性反应器,必须打开通知程序对象进行写入,并且通过撤消机制监视添加或删除反应器。由于您创建了瞬态反应器对象,因此您还负责删除它。AcDbObjectReactorNULLAcDbObject::addReactor() 例如,当一个对象被擦除时,它会调用其列表中每个反应堆的相应通知函数。如果已为反应器实现函数,则该函数将由数据库对象调用,然后可以在擦除对象时执行适合应用程序的任何特殊操作。erased()erased() 本教程中的主题父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-28 17:09
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.