[问题] 谁写个分页对话框的例程阿 
向我等菜菜讲解一下如何使用CPropertySheet和CPropertyPage来实现分页对话框
界面。自己做了这方面尝试,老是不知道什么原因失败了

解决方案 »

  1.   

    用VC++创建自定义向导程序
    http://www.vckbase.com/document/viewdoc/?id=330
      

  2.   

    我们从头讲不如你自己去看MSDN了,我们讲的还不一定全面。
      

  3.   

    若要在应用程序中使用属性表,请完成下列步骤: 为每个属性页创建对话框模板资源。切记,用户可能会从一页切换到另一页,
    因此,要尽可能使每页的布局保持一致。 
    所有属性页的对话框模板不必具有相同的大小。框架使用最大属性页的大小来
    确定在属性表中为属性页分配多少空间。 在创建属性页的对话框模板资源时,必须在“对话框属性”属性表中指定下列样式: 将“常规”页上的“Caption”编辑框设置为希望出现在该页选项卡中的文本。 
    将“样式”页上的“Style”列表框设置为“子级”。 
    将“样式”页上的“Border”列表框设置为“细”。 
    确保选定“样式”页上的“Titlebar”(标题栏)复选框。 
    确保选定“更多样式”页上的“禁用”复选框。 
    创建与每个属性页对话框模板对应的 CPropertyPage 派生类。请参见添加类。
    选择 CPropertyPage 作为基类。 
    创建保持该属性页值的成员变量。属性页为专用对话框,
    因此将成员变量添加到属性页的过程与将成员变量添加到对话框的过程完全相同。
    有关更多信息,请参见定义对话框控件的成员变量。 在源代码中构造 CPropertySheet 对象。通常,在显示属性表的命令处理程序中
    构造 CPropertySheet 对象。该对象表示整个属性表。如果用 DoModal 函数创建
    有模式属性表,框架则在默认情况下提供三个命令按钮:“确定”、“取消”和“应用”。
    对于用 Create 函数创建的无模式属性表,框架不创建命令按钮。
    除非想添加其他控件(如预览窗口)或显示无模式属性表,否则不必从 CPropertySheet 派生类。
    但该步骤对于无模式属性表是必需的,因为无模式属性表不包含任何可用于关闭属性表的默认控件。 
    对于要添加到属性表的每个属性页,执行下列操作: 
    为在此过程前一阶段创建的每个 CPropertyPage 派生类构造一个对象。 
    为每页调用 CPropertySheet::AddPage。 
    通常,创建 CPropertySheet 的对象在该步骤中还创建 CPropertyPage 对象。
    然而,如果实现 CPropertySheet 派生类,可将 CPropertyPage 对象嵌入 CPropertySheet 对象中,
    并从 CPropertySheet 派生类构造函数中为每个属性页调用 AddPage。AddPage 将 CPropertyPage 
    对象添加到属性表的属性页列表,但实际上并不为该页创建窗口。
    因此,不必等到属性表窗口创建后再调用 AddPage;可从属性表的构造函数中调用 AddPage。 
    调用 CPropertySheet::DoModal 或 Create 显示属性表。
    调用 DoModal 将属性表创建为有模式对话框。
    调用 Create 将属性表创建为无模式对话框。
     
    在属性页和属性表所有者之间交换数据。文章交换数据对此做了说明。
     
    有关如何使用属性表的示例,请参见 MFC 通用示例:PROPDLG。