对属性进行分类
和 接口用于对“属性检查器”控件中显示的属性进行分类。 是旧版界面的更新版本。一个对象可以实现其中一个,但不能同时实现两个。该接口复制了其前身的功能,并添加了以下功能:ICategorizePropertiesIAcPiCategorizePropertiesIAcPiCategorizePropertiesICategorizePropertiesIAcPiCategorizeProperties
使用分类界面是可选的,但强烈建议使用。如果对象未实现这些接口之一,则其所有属性都归类在“常规”下。 属性检查器在收集属性信息时会向对象的方法询问 或指针。如果调用成功,属性检查器将使用获取的指针为对象的类型信息定义的每个属性调用该方法。如果返回的类别不是 inc\category.h 文件中预定义的值之一,则调用该方法以获取自定义类别的显示名称。QueryInterface()ICategorizePropertiesIAcPiCategorizePropertiesQueryInterface()MapPropertyToCategory()GetCategoryName() 如果计划仅使用预定义的类别,则可以返回 或 from 。您也不需要实现该方法。相反,属性检查器会使用 OPM 属性映射中为每个属性指示的类别。此技术用于AsdkSquareWrapper_DG示例项目。如果在属性映射中找不到属性,属性检查器会将其显示在“常规”类别下。E_NOTIMPLS_FALSEGetCategoryName()MapPropertyToCategory() 若要对属性进行分类,必须知道每个属性。活动模板库 (ATL) 在定义接口的 IDL 文件中分配属性值。这些数字可在属性属性列表的声明中找到,如下所示:DISPIDDISPIDid() [propget, id(1), helpstring("property Number")] HRESULT Number([out, retval] short *pVal); 在此示例中,for 属性为 1。DISPIDNumber 父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-5 18:03
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.