论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

MFC ActiveX 控件:属性页_VC技术_C语言教程

文章类别:C语言程序设计 | 发表日期:2010-6-20 16:42:42

MFC ActiveX 控件:属性页_VC技术_C语言教程

本文来自21视频教程网C语言频道

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

ActiveX 控件属性页以两种方式显示:

  • 当调用控件的 Properties 谓词 (OLEIVERB_PROPERTIES) 时,控件打开包含控件属性页的有模式属性对话框。
  • 容器可以显示自己的无模式对话框,该对话框显示选定控件的属性页。

“属性”对话框(如下图所示)由以下部分组成:显示当前属性页的区域,在属性页之间切换的选项卡,以及执行常规任务的按钮集合;其中常规任务指诸如关闭属性页对话,取消所做的任何更改,或立即将任何更改应用到 ActiveX 控件等任务。

“属性”对话框

本文介绍与在 ActiveX 控件中使用属性页相关的主题。这些主题包括:

  • 实现 ActiveX 控件的默认属性页
  • 将控件添加到属性页
  • 自定义 DoDataExchange 函数

实现默认属性页

如果使用“ActiveX 控件向导”创建控件项目,则“ActiveX 控件向导”会为从 COlePropertyPage 派生的控件提供一个默认的属性页类。最初,该属性页是空白的,但可以将任何对话框控件或控件集添加到其中。由于“ActiveX 控件向导”在默认情况下只创建一个属性页类,必须使用“类视图”创建其他属性页类(也从 COlePropertyPage 派生)。实现属性页(本例中为默认属性页)的过程分三步:

实现属性页

  1. COlePropertyPage 派生的类添加到控件项目。如果项目是用“ActiveX 控件向导”创建的(如在本例中),则存在默认属性页类。
  2. 使用“对话框编辑器”将任何控件添加到属性页模板。
  3. 自定义从 COlePropertyPage 派生的类的 DoDataExchange 函数,以在属性页控件与 ActiveX 控件之间交换值。

为举例说明,下列过程使用一个名为“Sample”的简单控件。“Sample”是用“ActiveX 控件向导”创建的,且只包含常用 Caption 属性。

将控件添加到属性页

将控件添加到属性页

  1. 在控件项目打开时,打开“资源视图”。
  2. 双击“Dialog”目录图标。
  3. 打开 IDD_PROPPAGE_SAMPLE 对话框。

    “ActiveX 控件向导”将项目名称追加到对话框 ID 的末尾(在本例中为“Sample”)。

  4. 将选定的控件从工具箱拖放到对话框区域。
  5. 在本例中,文本标签 (Label) 控件“Caption :”和具有 IDC_CAPTION 标识符的编辑框控件已经足够。
  6. 在工具栏上,单击“保存”保存更改。

用户界面已修改,现在需要链接编辑框与 Caption 属性。在下一节中通过编辑 CSamplePropPage::DoDataExchange 函数完成此操作。

自定义 DoDataExchange 函数

属性页 DoDataExchange 函数使您得以将属性页值与控件中的实际属性值链接。若要建立链接,必须将适当的属性页字段映射到它们各自的控件属性。

使用属性页 DDP_ 函数实现这些映射。DDP_ 函数的运行与标准 MFC 对话框中使用的 DDX_ 函数相似,但有一处例外。除对成员变量的引用外,DDP_ 函数还使用控件属性的名称。下面是属性页的 DoDataExchange 函数中的一个典型项。

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

此函数使用 DDP_TEXT 函数将属性页的 m_caption 成员变量与 Caption 相关联。

插入属性页控件后,需要使用 DDP_Text 函数在属性页控件 IDC_CAPTION 与实际控件属性 Caption 之间建立链接(如前所述)。

其他对话框控件类型(如复选框、单选按钮和列表框)也可以使用 DDP 函数。下表列出了完整的属性页 DDP_ 函数集及各函数的作用:

属性页函数

 

ff>
函数名 函数的作用
DDP_CBIndex 链接组合框中选定字符串的索引与控件属性。
DDP_CBString 链接组合框中的选定字符串与控件属性。所选字符串可以以与属性值相同的字母开始,但不必完全与其匹配。
DDP_CBStringExact 链接组合框中的选定字符串与控件属性。所选字符串和属性的字符串值必须完全匹配。
DDP_Check 链接复选框与控件属性。
DDP_LBIndex 链接列表框中选定字符串的索引与控件属性。
DDP_LBString 链接列表框中的选定字符串与控件属性。所选字符串可以以与属性值相同的字母开始,但不必完全与其匹配。
DDP_LBStringExact 链接列表框中的选定字符串与控件属性。所选字符串和属性的字符串值必须完全匹配。
DDP_Radio 链接单选按钮与控件属性。
DDP_Text 链接文本与控件属性。

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058