CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

相关分类

填充属性数组

2022-12-31 10:58| 发布者: admin| 查看: 235| 评论: 0|来自: AutoCAD

若要调用该方法,请填充两个数组以用作前两个参数。第一个数组中的元素表示要编辑其属性的对象。如果在 IDL 中为第一个数组中的对象定义了属性,则该对象还用作静态属性源。第二个数组中的每个元素都是使用第一个数组中的相应元素注册的属性管理器和属性源的安全数组。IPropertyInspector::Reset()

在 AutoCAD 上下文中,第一个数组中的元素通常表示 DWG 对象或实体。但是,这些元素实际上可以是任何 ActiveX 对象。在某些情况下,您可能不希望编辑 AutoCAD 图元的特性,但希望改用属性检查器来编辑特定于应用程序的对象。要编辑非 AutoCAD 对象的静态属性,只需将对象包装在 中并将其指针添加到数组中即可。IAcadBaseObject2 automation interfaceIUnknown

在某些情况下,您可能希望显示属性及其选项,而不将它们与特定对象相关联。如果这是您的目标,则可以使用单个 null 对象填充第一个数组。此对象将在第二个数组中由一个安全数组匹配,该数组包含指向属性管理器和属性源的 IUnknowns 的指针。

如果应用程序打算为对象组提供每个实例的动态属性,则需要循环访问对象列表并为每个条目创建新的动态属性源。为了为所选对象提供属性,应用程序会将其实现的实例注册为当前选定对象的属性源。注册是通过调用以下两个宏来完成的:IPropertySource

  • GET_OPM_PERINSTANCE_PROPERTY_SOURCES
  • GET_OPM_PERINSTANCE_EXTENSION_PROTOCOL

这些宏使用属性源的内部名称以两种方式注册它。第一个宏在每个实例的属性源字典中注册属性源类的新实例。因此,当 AutoCAD 查找此名称下的属性处理程序时,它将检索当前对象。第二个宏将此属性源名称注册到与所选对象关联的 AcRx 类。这将在基础对象的类型与其属性源名称之间创建链接。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 12:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部