MFC属性表

在应用程序中使用属性表

若要在应用程序中使用属性表,请完成下列步骤:

  1. 为每个属性页创建对话框模板资源。切记,用户可能会从一页切换到另一页,因此,要尽可能使每页的布局保持一致。

    所有属性页的对话框模板不必具有相同的大小。框架使用最大属性页的大小来确定在属性表中为属性页分配多少空间。

    在创建属性页的对话框模板资源时,必须在“对话框属性”属性表中指定下列样式:

    • 将“常规”页上的“Caption”编辑框设置为希望出现在该页选项卡中的文本。
    • 将“样式”页上的“Style”列表框设置为“子级”。
    • 将“样式”页上的“Border”列表框设置为“细”。
    • 确保选定“样式”页上的“Titlebar”(标题栏)复选框。
    • 确保选定“更多样式”页上的“禁用”复选框。
  2. 创建与每个属性页对话框模板对应的 CPropertyPage 派生类。请参见添加类。选择 CPropertyPage 作为基类。
  3. 创建保持该属性页值的成员变量。属性页为专用对话框,因此将成员变量添加到属性页的过程与将成员变量添加到对话框的过程完全相同。有关更多信息,请参见定义对话框控件的成员变量
  4. 在源代码中构造 CPropertySheet 对象。通常,在显示属性表的命令处理程序中构造 CPropertySheet
    对象。该对象表示整个属性表。如果用 DoModal
    函数创建有模式属性表,框架则在默认情况下提供三个命令按钮:“确定”、“取消”和“应用”。对于用 Create
    函数创建的无模式属性表,框架不创建命令按钮。除非想添加其他控件(如预览窗口)或显示无模式属性表,否则不必从 CPropertySheet 派生类。但该步骤对于无模式属性表是必需的,因为无模式属性表不包含任何可用于关闭属性表的默认控件。
  5. 对于要添加到属性表的每个属性页,执行下列操作:
    • 为在此过程前一阶段创建的每个 CPropertyPage 派生类构造一个对象。
    • 为每页调用 CPropertySheet::AddPage。

    通常,创建 CPropertySheet 的对象在该步骤中还创建 CPropertyPage 对象。然而,如果实现 CPropertySheet 派生类,可将 CPropertyPage 对象嵌入 CPropertySheet 对象中,并从 CPropertySheet 派生类构造函数中为每个属性页调用 AddPageAddPageCPropertyPage 对象添加到属性表的属性页列表,但实际上并不为该页创建窗口。因此,不必等到属性表窗口创建后再调用 AddPage;可从属性表的构造函数中调用 AddPage

    默认情况下,如果属性表中的选项卡比属性表的单行能够容纳的选项卡多,这些选项卡将堆积在多行中。若要禁用堆积,请调用参数设置为 FALSE 的 CPropertySheet::EnableStackedTabs。在创建属性表时,必须调用 EnableStackedTabs

  6. 调用 CPropertySheet::DoModal 或 Create 显示属性表。调用 DoModal 将属性表创建为有模式对话框。调用 Create 将属性表创建为无模式对话框。
  7. 在属性页和属性表所有者之间交换数据。文章交换数据对此做了说明。

本文转至:http://bbs.ednchina.com/BLOG_ARTICLE_195184.HTM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值