CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2025 开发者帮助

填充属性数组

2024-5-18 19:25| 发布者: admin| 查看: 139| 评论: 0|原作者: admin|来自: AutoCAD

填充属性数组

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

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

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

如果应用程序打算为对象组提供每个实例的动态属性,则需要循环访问对象列表并为每个条目创建新的动态属性源。若要为所选对象提供属性,应用程序会注册一个 instance of its IPropertySource implementation as the property source for the currently selected objects. Registration is done by calling the following two macros:

  • GET_OPM_PERINSTANCE_PROPERTY_SOURCES
  • GET_OPM_PERINSTANCE_EXTENSION_PROTOCOL

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

父主题:

  1. Reset() 方法

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-14 08:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部