填充属性数组
若要调用该方法,请填充两个数组以用作前两个参数。第一个数组中的元素表示要编辑其属性的对象。如果在 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:
这些宏使用属性源的内部名称以两种方式注册它。第一个宏在每个实例的属性源字典中注册属性源类的新实例。因此,当AutoCAD查找此名称下的特性的处理程序时,它将检索当前对象。第二个宏将此属性源名称注册到与所选对象关联的 AcRx 类。这将在基础对象的类型与其属性源名称之间创建链接。 父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-14 08:04
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.