VS2010-MFC(对话框:一般属性页对话框的创建及显示)

时间:2023-03-10 02:42:46
VS2010-MFC(对话框:一般属性页对话框的创建及显示)

转自:http://www.jizhuomi.com/software/169.html

属性页对话框包括向导对话框和一般属性页对话框两类,上一节演示了如何创建并显示向导对话框,本节将继续介绍一般属性页对话框的创建和显示。

实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的。本节将上一节中的向导对话框进行少量修改,使其成为一般属性页对话框。

一般属性页对话框的创建步骤:

1.创建属性页对话框资源

属性页对话框资源的创建方法同向导对话框是一样的,上一讲中的对话框资源不需进行任何修改。

2.创建属性页类

属性页类的创建和向导对话框的属性页类也基本一样,只是一般属性页对话框中不需要“下一步”和“完成”等按钮,所以上一讲中属性页类的OnSetActive和OnWizardFinish等重载函数可以去掉。即CSummandPage类中的OnSetActive函数、CAddPage类中的OnSetActive函数和OnWizardFinish函数可以删除或注释掉。其他部分不需作任何修改。【PS;记得将CSummandPage类和CAddPage类头文件(.h)中的相应函数声明也注释或删掉,否则编译错误】

3.创建属性表类

创建属性表类的过程同向导对话框属性表类也是一样的,所以上一讲中的CAddSheet类不需修改。

4.显示一般属性页对话框

上一讲向导对话框的显示是在OnBnClickedInstructButton函数中实现的,其中语句sheet.SetWizardMode();旨在设置属性表为向导对话框模式,所以显示一般属性页对话框时不需调用SetWizardMode成员函数。另外,我们可以将属性页对话框的标题设为“使用说明”,在构造属性表对象时将此字符串作为构造函数的参数传入。

OnBnClickedInstructButton函数修改如下:

void CAdditionDlg::OnBnClickedInstructButton()
{
// TODO: Add your control notification handler code here // 创建属性表对象
CAddSheet sheet(_T("使用说明")); // 打开模态一般属性页对话框
sheet.DoModal();
}

这样一般属性页对话框的创建和显示就讲完了,我们运行下程序,在结果对话框上点“使用说明”按钮看看效果吧:

VS2010-MFC(对话框:一般属性页对话框的创建及显示)

再总结下,一般属性页对话框和向导对话框的创建和显示的不同包括,是否需要OnSetActive和OnWizardFinish等重载函数,是否需要调用属性表类的SetWizardMode函数设置为向导对话框模式。