属性页对话框包括向导对话框和一般属性页对话框两类,上一节讲了如何创建并显示向导对话框,本节将继续介绍一般属性页对话框的创建和显示。
实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的。将上一节中的向导对话框进行少量修改,使其成为一般属性页对话框。
一般属性页对话框的创建步骤:
1、创建属性页对话框资源
属性页对话框资源的创建方法同向导对话框是一样的,上一讲中的对话框资源不需要进行任何修改。
2、创建属性页类
属性页类的创建和向导对话框的属性页类也基本一样,只是一般属性页对话框中不需要“下一步”和“完成”等按钮,所以上一讲中属性页类的OnSetActive和OnWizardFinish等重载函数可以去掉。即CSummandPage类中的OnSetActive函数、CAddPage类中的OnSetActive函数和OnWizardFinish函数可以删除或注释掉。其他部分不需要做任何修改。
3、创建属性列表类
创建属性列表类的过程同向导对话框属性表类是一样的,所以上一讲中的CAddSheet类不需要修改。
4、显示一般属性页对话框
上一讲中向导对话框的显示是在OnBnClickedInstructButton函数中实现的,其中语句sheet.SetWizardMode()旨在设置属性表为向导对话框模式,所以显示一般属性页对话框时不需要调用SetWizardMode成员函数。另外,我们可以将属性页对话框的标题设置为“使用说明”,在构造属性表对话框对象时将此字符串作为构造函数的参数传入。OnBnClickedInstructButton函数修改如下:
C++代码:
这样一般属性页对话框的创建和显示就讲完了,我们运行下程序,在结果对话框上点“使用说明”按钮看看效果吧:
再总结下,一般属性页对话框和向导对话框的创建和显示的不同包括,是否需要OnSetActive和OnWizardFinish等重载函数,是否需要调用属性表类的SetWizardMode函数设置为向导对话框模式。