MFC ActiveX 控件:属性页

属性页允许 ActiveX 控件用户查看和更改 ActiveX 控件属性。这些属性通过调用控件属性对话框访问,该对话框包含一个或多个属性页,属性页提供用于查看和编辑控件属性的自定义图形界面。

Activex 控件属性页中显示有两种方法:

  • 当控件的属性谓词 (OLEIVERB_PROPERTIES) 时调用,控件打开包含控件的属性页的模式属性对话框。

  • 容器可以显示所选控件的属性页自己的无模式对话框。

属性对话框 (声明下图) 包含显示的当前属性页、选项卡切换在属性页和之间执行常规任务 (如关闭属性页 " 对话框,移除所有更改或立即应用于 Activex 控件的按钮集合区域任何更改。

属性 " 对话框

“Circ3 属性”对话框

本文包含主题使用属性页相关在 Activex 控件。这些元素包括:

  • 实现 Activex 控件的默认属性页

  • 将控件添加到属性页

  • 自定义 DoDataExchange 功能

有关使用属性页的更多信息在 Activex 控件,请参见以下文章:

有关使用属性表的信息在除 Activex 控件外的 MFC 应用程序,请参见 属性表(MFC)

实现默认属性页

如果使用 Activex 控件向导创建自己的控件项目, Activex 控件向导为从 COlePropertyPage 类派生的控件提供默认属性页类。最初,该属性页是空白的,但是,您可以将任何对话框控件或设置控件添加到其中。由于默认情况下 Activex 控件向导仅创建一属性页类,使用类视图,必须创建附加属性页类 (也从派生 COlePropertyPage)。有关此过程的更多信息,请参见 MFC ActiveX 控件:添加另一个自定义属性页

实现属性页 (在本例中,默认值) 三步过程:

实现属性页

  1. 添加 COlePropertyPage- 对控件项目的派生类。如果项目已使用创建 Activex 控件向导 (在本例中为),默认属性页类已存在。

  2. 使用对话框编辑器任何控件添加到属性页模板。

  3. 自定义 COlePropertyPage的 DoDataExchange 功能 - 交换值的派生类在属性页中控件和 Activex 控件大小。

有关示例的目的,下面的过程使用简单的控件 (名为 “sample”)。示例创建了使用 Activex 控件向导只包含常用的 caption 属性

将控件添加到属性页

将控件添加到属性页

  1. 打开控件的项目中,打开资源视图。

  2. 双击 对话框 目录图标。

  3. 打开 IDD_PROPPAGE_SAMPLE 对话框。

    Activex 控件向导追加该项的名称到对话框 ID 的末尾,在这种情况下,示例。

  4. 拖放从工具箱的选定的控件在对话框中区域。

  5. 在本示例中,文本标签控件 “声明: ”并将 IDC_CAPTION 标识符的一个编辑框控件就足够了。

  6. 单击 保存 在工具栏保存更改。

既然已修改用户界面,需要使用声明属性链接编辑框。这在以下部分来完成由编辑器 CSamplePropPage::DoDataExchange 功能。

自定义 DoDataExchange 功能

您的属性页 CWnd::DoDataExchange 功能允许您使用属性的实际值在控件的页链接属性值。若要建立链接,您必须映射相应的属性页字段添加到各自的控件属性。

使用属性页 DDP_ 功能,这些映射中实现。DDP_ 功能的工作方式与在标准 MFC 对话框的 DDX_ 功能,但有一个例外。除了将成员变量的引用之外, DDP_ 函数将控件的属性的名称。下面是在 DoDataExchange 函数的典型项属性页。

DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));

使用 DDP_TEXT 功能,此功能关联属性页的 m_caption 成员变量声明,。

在特性页控件插入后,您需要上述建立属性页、控件 IDC_CAPTION和实际控件属性,声明之间的链接,使用 DDP_Text 功能。

属性页(MFC) 为其他对话框控件类型可用,例如复选框,单选按钮,而列表框。下表列出了整组属性页 DDP_ 功能及其用途:

属性页函数

函数名

使用此功能链接

DDP_CBIndex

在组合框中的选定字符串的索引具有控件的属性。

DDP_CBString

在组合框中的选定字符串具有控件的属性。选定的字符串可以以字母开头和属性值相同,但不需要完全匹配它。

DDP_CBStringExact

在组合框中的选定字符串具有控件的属性。选定的字符串和特性的字符串值必须完全匹配。

DDP_Check

将控件属性的复选框。

DDP_LBIndex

在一个列表框中的选定字符串的索引具有控件的属性。

DDP_LBString

在一个列表框中的选定字符串具有控件的属性。选定的字符串可以以字母开头和属性值相同,但不需要完全匹配它。

DDP_LBStringExact

在一个列表框中的选定字符串具有控件的属性。选定的字符串和特性的字符串值必须完全匹配。

DDP_Radio

具有控件的属性的一个单选按钮。

DDP_Text

与控件属性的文本。

请参见

参考

COlePropertyPage 类

概念

MFC ActiveX 控件