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