在许多情况下,属性检查器 API 提供实现其 COM 接口的基于 ATL 的模板类。模板实现可以实现多个属性调色板 COM 接口,也可以实现单个专用对象。一些模板类实现其接口的所有方法,而其他模板类将部分实现留给您。但是,在大多数情况下,从模板类派生所需的编码比直接实现底层接口要少得多。IDispatch
属性检查器模板类在axtempl.h文件中定义。下表显示了模板类及其实现的全部或部分接口。
属性检查器模板类
|
|
模板类
|
实现的接口
|
IAcadBaseObjectImpl
|
IAcadBaseObject, IConnectionPointContainer
|
IAcadBaseObject2Impl
|
IAcadBaseObject2, IAcadBaseObject, IConnectionPointContainer
|
IAcadObjectDispatchImpl
|
IDispatch, IAcadBaseObject, IAcadBaseObject2, IRetrieveApplication, IUnknown, IConnectionPointContainer
|
IAcadEntityDispatchImpl
|
IDispatch, IAcadBaseObject, IAcadBaseObject2, IRetrieveApplication, IUnknown, IConnectionPointContainer
|
IAcPiPropCommandButtonsImpl
|
IAcPiPropCommandButton
|
IAcPiPropertyDisplayImpl
|
IAcPiPropertyDisplay
|
IAcPiClassificationPropertiesImpl
|
IAcPiCategoryProperties
|
其中一些模板适用于映射宏。映射宏允许您以列表格式指定自定义信息,而无需实现底层纯虚拟接口。此机制简化了对“特性”选项板应用程序进行编码的过程。以下模板类的映射宏在opmimp.h文件中声明:
-
IOPMPropertyExtensionImpl
-
IAcPiCategorizePropertiesImpl
-
IAcPiPropertyDisplayImpl
-
IAcPiPropCommandButtonsImpl
IAcPiCategorizePropertiesImpl使用两个映射:一个用于基于类别的类别,另一个用于每个类别的命令按钮。IAcPiCategorizeProperties
|