ActiveX 控件开发指南

在软件开发中,ActiveX控件提供了一种强大的方式来扩展应用程序的功能。本文将介绍一个特定的ActiveX 控件——kPropertySet.kObserver,它允许用户以类似于Visual Basic IDE的属性浏览器方式来展示和编辑属性集。

kPropertySet.kObserver 主要特性

kPropertySet.kObserver控件的主要特点包括:

  • 通过 IDispatch 接口编辑属性集。
  • 与 IPerPropertyBrowsing 和 ICategorizeProperties 接口兼容。
  • 支持与OLE自动化兼容的任何类型的属性。
  • 支持用户自定义类型。
  • 支持按字母顺序和类别排序。
  • 灵活的定制选项。
  • 体积小:在发布最小尺寸配置中只有73.5 KB。

工作原理

控件在接收到 IDispatch 接口的指针后,会探索类型库。对于每个带有 "propget" 属性的属性,都有一个对象实现了可视化、数据交换和数据验证的逻辑。带有 "hidden"、"nonbrowsable" 和 "restricted" 属性的属性将被跳过。

控制接口

以下是 kObserver 接口的描述:

  • Property Dispatch: 外部分派接口。
  • Property Font: 当前字体。
  • Property BackColor: 列表视图窗口的背景颜色。
  • Property ForeColor: 用于显示文本的前景颜色。
  • Property GridColor: 用于显示网格的颜色。
  • Property HighliteBackColor: 用于显示选中项的背景颜色。
  • Property HighliteForeColor: 用于显示选中项文本的颜色。
  • Property EditBackColor: 用于显示编辑窗口的背景颜色。
  • Property EditForeColor: 用于显示编辑窗口文本的前景颜色。
  • Property SignColor: 符号颜色。
  • Property EnableContextMenu: 如果不需要显示上下文菜单,则必须为 false。
  • Property Categorized: 排序模式,如果按类别排序则为 true。
  • Property LineSpacing: 行之间的额外间距,可以为负。
  • Property exStyleEdit: 编辑窗口的扩展窗口样式。
  • Property SelectName: 活动属性的名称。
  • Property SelectDesc: 活动属性的描述。
  • Property SelectValue: 活动属性的值。
  • Property SelectDispid: 活动属性的 DISPID。

源接口

方法 OnChangeSelect: 当用户更改活动属性时触发。

用户界面

键盘快捷键:

  • F5: 刷新
  • F2, Tab: 编辑属性(如果可能)
  • 空格键: 模拟右键单击

上下文菜单:

  • 按字母顺序 / 按类别:选择排序模式
  • 还原 / 自定义:编辑自身属性或外部属性
  • 刷新:重新绘制并重新加载属性值

开发环境

此组件使用 VC 6.0 (SP3) 和 ATL 创建。已在 Windows 2000 和 Windows 98 上测试。需要:Windows 98, Windows NT 4.0, Windows 2000, 和 Internet Explorer 4。

编写此ActiveX控件时使用了以下源代码:

  • Vladimir Scherbakov: "实现属性浏览器的模板类"
  • Stefan Belopotocan: "可适应属性列表控件"
  • Andrew Nosenko: "ATL/AUX 库"

再次感谢他们。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485