• mfc入门基础(七)向导对话框的创建与显示


    实现参考:VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)-软件开发-鸡啄米

    一、向导对话框的创建与显示

    1、具体的例子使用,还是参照上节或者说上上节中的例子写出来,test02,所以也还是在这个基础上来进行更改

    2、创建属性页对话框,找到资源视图,然后进行右键点击,找到插入Dialog,实现如下:

     3、找到对话框模板,右击属性,进行Caption、Style、Border值的更改,具体更改为如下:

     4、删除确定和取消按钮,同时添加个静态文本框,实现效果如下:

     5、接着上述的步骤,继续添加第二个和第三个对话框资源,下面是插入第二个对话框资源,如下:(修改对话框ID,插入个静态文本,删除确定和取消按钮)

      6、继续插入第三个对话框,实现如下:

    7、为第一个对话框模板添加类名,找到第一个对话框模板,ID为 IDD_SUMMAND_PAGE

    右击对话框模板,选择插入类,然后就是更改类名与基类名称,如下:

    8、为第一个对话框添加一个下一步按钮 ,首先需要重载个载OnSetActive函数,找到类视图->

    CSummandPage节点,选择右键点击,选择属性,点击重写,找到OnSetActive,进行“OnSetActive”选项的点击,自动生个函数,然后如下:

     

     

    1. BOOL CSummandPage::OnSetActive()
    2. {
    3. // TODO: 在此添加专用代码和/或调用基类
    4. // 获得父窗口,即属性表CPropertySheet类
    5. CPropertySheet* psheet = (CPropertySheet*) GetParent();
    6. // 设置属性表只有“下一步”按钮
    7. psheet->SetWizardButtons(PSWIZB_NEXT);
    8. return CPropertyPage::OnSetActive();
    9. }

    9、为第二个对话框插入类,如下:

     10、找到第三个对话框,实现效果如下:

     

     

    1. BOOL CAddPage::OnSetActive()
    2. {
    3. // TODO: 在此添加专用代码和/或调用基类
    4. // 获得父窗口,即属性表CPropertySheet类
    5. CPropertySheet* psheet = (CPropertySheet*) GetParent();
    6. //设置属性表只有“完成”按钮
    7. psheet->SetFinishText(_T("完成"));
    8. return CPropertyPage::OnSetActive();
    9. }

    11、第三个对话框中,需要点击“完成”按钮时进行某些处理,可以重载OnWizardFinish函数,方法与上方一样,重载之后OnWizardFinish函数:

    1. BOOL CAddPage::OnWizardFinish()
    2. {
    3. // TODO: 在此添加专用代码和/或调用基类
    4. // 提示向导完成
    5. MessageBox(_T("使用说明向导已阅读完!"));
    6. return CPropertyPage::OnWizardFinish();
    7. }

     12、以上关于对话框的工作完成了,下一步需要进行创建属性表类,找到test02(解决方案中的根节点),右击点击类,选择MFC类如下:

     

     在AddSheet.h和.cpp中分别添加如下:

     

     13、添加一个使用说明按钮,如下:

     14、双击进入添加点击事件,创建属性对象,在Ctest02Dlg中加入头文件:#include "AddSheet.h"

    1. void Ctest02Dlg::OnBnClickedInstructButton()
    2. {
    3. // TODO: 在此添加控件通知处理程序代码
    4. // 创建属性表对象
    5. CAddSheet sheet(_T(""));
    6. // 设置属性对话框为向导对话框
    7. sheet.SetWizardMode();
    8. // 打开模态向导对话框
    9. sheet.DoModal();
    10. }

    15、完成,最后看下效果:

     

     

  • 相关阅读:
    解答:EasyDSS视频点播时音频是否可以设置为默认开启?
    前端学成在线项目详细解析一
    viple入门(二)
    6.1.2 基于MSI文件安装MySQL
    WebSocket基础——WebSocket的基本概念 VS Http & SpringBoot整合WebSocket & vue前端代码和效果展示
    C#实现不规则图形分割成多个矩形组合可视化工具, 核心是一个找最大内切矩形的算法
    python连接mysql数据库的练习
    win平台使用惯导模块:WHEELTEC N100 模块
    数据结构链表之无头单向循环链表的实现
    SEO搜索引擎优化-SEO搜索引擎优化软件
  • 原文地址:https://blog.csdn.net/Littlehero_121/article/details/127665692