65.9K
CodeProject 正在变化。 阅读更多。
Home

属性列表 ActiveX 控件

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.88/5 (23投票s)

2004年6月3日

3分钟阅读

viewsIcon

200503

downloadIcon

7060

属性列表控件,类似于 VB.NET,实现为一个 ActiveX 控件。

Sample Image - propList.gif

重要

文章已更新!请参阅下文了解更改!

引言

此属性列表控件与其他可用的属性列表相似,但有两个主要区别:

  1. 实现非常简单。
  2. 它实现为一个 ActiveX 控件,因此同样适用于 C++、C# 和 VB。此外,它可以放置在 HTML 页面或任何其他支持 ActiveX 和脚本的容器中。

参考

属性
  • BorderStyle As BorderStyle

    控件的边框样式。

    BorderStyle enum:

    • BorderNone = 0 - 无边框
    • BorderRaized = 1 - EDGE_RAISED
    • BorderSunken = 2 - EDGE_SUNKEN
    • BorderFlat = 3 - BDR_RAISEDOUTER|BDR_RAISEDINNER, BF_FLAT
    • BorderStatic = 4 - BDR_SUNKENINNER
  • Precision As Short

    double 值的整体精度(目前未使用)。

方法
  • Clear()

    清除控件中的所有属性。

  • AddProperty(BSTR Category, BSTR Caption, VARIANT Value, BSTR Description, buttonType ButtonType,VARIANT_BOOL IsEnabled)

    向控件添加新属性。

    • Category - 属性的类别。
    • Caption - 标题(属性的字符串名称)。
    • Value - 属性值(StringShortLongString 数组、DateTimePicture 等)。
    • Description - 在描述窗口中显示的文本。
    • ButtonType - 属性的按钮类型(适用于编辑控件和 DateTime 控件)。
    • IsEnabled - 属性是否已启用。

    ButtonType enum:

    • ButtonNone = 0 - 无按钮
    • ButtonElipsis = 1 - 省略号按钮(三个点),创建编辑控件。
    • ButtonPick = 2 - 选择按钮(带 x 的箭头),创建编辑控件。
    • ButtonOpen = 3 - 按钮打开文件选择对话框,创建编辑控件。
    • ButtonLink = 4 - 按钮打开资源管理器,创建编辑控件。
    • ButtonColor = 5 - 按钮打开颜色选择对话框,创建颜色控件。
    • ButtonMail = 6 - 按钮打开新邮件消息,创建编辑控件。
    • ButtonLongDate = 7 - 以长格式显示日期,创建 DateTime 控件。
    • ButtonShortDate = 8 - 以短格式显示日期,创建 DateTime 控件。
    • ButtonTime = 9 - 显示时间,创建 DateTime 控件。
  • SetValue(BSTR PropertyName, VARIANT Value)

    为单个属性设置值。

    • PropertyName - 要设置值的属性名称。
    • Value - 要设置的值。
事件
  • PropertyChanged(BSTR PropertyName, VARIANT NewValue)

    属性更改时触发。

    • PropertyName - 已更改的属性的名称。
    • NewValue - 新值。
  • ButtonClicked(BSTR PropertyName, short ButtonType, VARIANT* Value)

    按钮单击时触发,允许您为按钮执行自定义操作,并根据执行的操作将值设置为新值。

    • PropertyName - 单击了其按钮的属性名称。
    • ButtonType - 按钮的类型。
    • Value - 按引用传递(作为指针),允许您在函数返回时设置新值。

* 请注意,某些控件对按钮单击有默认操作,例如颜色按钮、链接按钮、邮件按钮等。

历史

更新 - 2004/11/04

新属性
  • ShowDescription As Boolean

    控制描述的显示(True/False)。

新方法
  • CloseAll()

    关闭所有类别(如果您希望在所有类别都关闭时开始列表,则此方法很有用。您可以先填充列表,然后调用 CloseAll() 来关闭类别)。

新按钮类型
  • ButtonMultyText = 10 - 创建一个五行高的文本窗口,用于多行文本。
  • ButtonButton = 11 - 创建一个占据整行的按钮。
  • ButtonFunction = 12 - 创建一个属性,其值由提供的函数计算,该函数可能基于其他属性。例如:

    您有一个名为 Diameter 的属性,其值为 10。您添加一个名为 area 的函数类型属性,单击其按钮,将出现“输入函数”对话框,您可以在其中输入 - 3.14 * ([Diameter]/2)^2。关闭对话框后,属性中显示的值将为:78.5。如果您现在将 Diameter 更改为 4,Area 属性将自动更新为 12.56。

  • ButtonPicture = -1 - 传递的字符串是图像文件的路径(您也可以通过 IDispatch 接口传递图像)。
© . All rights reserved.