鸡啄米vc++2010系列14(一般属性页对话框的创建)

时间:2022-09-08 07:42:37

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

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

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

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

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

       2.创建属性页类

       属性页类的创建和向导对话框的属性页类也基本一样,只是一般属性页对话框中不需要“下一步”和“完成”等按钮,所以上一讲中属性页类的OnSetActive和OnWizardFinish等重载函数可以去掉。即CSummandPage类中的OnSetActive函数、CAddPage类中的OnSetActive函数和OnWizardFinish函数可以删除或注释掉。其他部分不需作任何修改。

       3.创建属性表类

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

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

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

C++代码
  1. void CAdditionDlg::OnBnClickedInstructButton()   
  2. {   
  3.     // TODO: Add your control notification handler code here   
  4.   
  5.     // 创建属性表对象   
  6.     CAddSheet sheet(_T("使用说明"));   
  7.        
  8.     // 打开模态一般属性页对话框   
  9.     sheet.DoModal();   
  10. }  

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

 鸡啄米vc++2010系列14(一般属性页对话框的创建)

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

       是不是一般属性页对话框的创建和显示也很简单?到此,属性页对话框就讲完了。鸡啄米欢迎大家继续关注后面的内容。