使用 OLE 自动化设置属性





5.00/5 (4投票s)
2000 年 6 月 3 日

104030

2361
描述一个使用 OLE 自动化设置对象属性的 ActiveX 控件。
目录。
引言
kPropertySet.kObserver
- 这个 ActiveX 控件提供了一种呈现和编辑属性集(类似于 Visual Basic IDE 的属性浏览器)的方法。
主要功能包括
- 通过
IDispatch
接口编辑属性集。 - 与
IPerPropertyBrowsing
和ICategorizeProperties
接口一起使用 - 支持任何与 OLE 自动化兼容的属性类型
- 支持用户自定义类型
- 按字母顺序和类别排序
- 灵活的自定义
- 体积小:发布最小尺寸配置下为 73.5 KB
工作原理
从 IDispatch
接口接收指针后,控件会浏览类型库。 对于具有“propget”属性的每个属性,都有一个实现可视化、数据交换和数据验证逻辑的对象。 具有“hidden”、“nonbrowsable”和“restricted”属性的属性将被跳过。
控件接口
以下是对 kObserver
接口的描述
- 属性
Dispatch
- 外部调度接口。
- 属性
Font
- 当前字体。
- 属性
BackColor
- 列表视图窗口的背景颜色。
- 属性
ForeColor
- 用于显示文本的前景色。
- 属性
GridColor
- 用于显示网格的颜色。
- 属性
HighliteBackColor
- 用于显示选中项目的颜色。
- 属性
HighliteForeColor
- 用于显示选中项目文本的颜色。
- 属性
EditBackColor
- 用于显示编辑窗口的背景颜色。
- 属性
EditForeColor
- 用于在编辑窗口中显示文本的前景色。
- 属性
SignColor
- 符号颜色。
- 属性
EnableContextMenu
- 如果不需要显示上下文菜单,则必须为 false。
- 属性
Categorized
- 排序模式,如果按类别排序,则为 true。
- 属性
LineSpacing
- 行之间的附加间距可以是负数。
- 属性
exStyleEdit
- 编辑窗口的扩展窗口样式。
- 属性
SelectName
- 活动属性的名称。
- 属性
SelectDesc
- 活动属性的描述。
- 属性
SelectValue
- 活动属性的值。
- 属性
SelectDispid
- 活动属性的 DISPID。
源接口
- 方法
OnChangeSelect
- 当用户更改活动属性时发生。
用户界面
键盘按键
- F5:刷新
- F2,Tab:编辑属性(如果可能)
- 空格:模拟右键单击
上下文菜单
- 字母顺序 \ 分类:选择排序模式
- 恢复 \ 自定义自身:编辑自身属性或外部属性
- 刷新:重新绘制并重新加载属性值
环境
此组件是用 VC 6.0 (SP3) 和 ATL 创建的。 它已在 Windows 2000 和 Windows 98 上进行了测试。 需要:Windows 98、Windows NT 4.0、Windows 2000 和 Interned Explorer 4。
致谢,参考文献
以下源代码用于编写此 ActiveX 控件
再次感谢他们。
关于 VB 演示的一些说明
为了在 VB 运行时持久化 \ 恢复属性,我编写了 kPersistMngs.kStorageMng
组件。 这是一个使用 VB 中复合文件的简单包装器。
历史
- 2000 年 8 月 6 日 - 更新到版本 1.2 并修复了 Robert Rolls 检测到的错误