自行设计MFC向导对话框

这篇博客详细介绍了如何自行设计MFC(Microsoft Foundation Classes)的向导对话框,包括步骤和关键点,适合有一定MFC基础的开发者参考学习。
摘要由CSDN通过智能技术生成

 

    MFC没有提供现成的向导对话框,而是提供了CPropertySheet和CPropertyPage两个类,分别表示向导容器、向导页。为了制作出向导风格的对话框,需要从CPropertySheet继承一个自己的类,控制每个页面的显示,以及制作每个页面的对话框,并基于CPropertyPage类实现这些对话框类。关于使用CPropertySheet和CPropertyPage制作向导的文章,网上有很多介绍,我就不描述了。
    使用MFC提供的类实现的向导都有统一的风格,而很多时候,我们就需要不一样的向导,而MFC无法或不能很好实现这些功能,如定制自己的“上一步”、“下一步”按钮风格等。这里我就个人的经验,提供一个不使用CPropertySheet和CPropertyPage制作向导的方法,虽然稍微繁琐点,但是能够提供更多的灵活性,也能够锻炼能力。我将使用VSS2010完成所有设计,VS2012、VS2008和VC6的操作同样如此。
    首先新建一个MFC对话框项目MyWizard,VS2010会自动创建一个CMyWizardDlg对话框,我将以此为向导的主界面。在资源编辑器中打开这个对话框,删除默认的“Cancel”、“OK”,并增加三个按钮,分别作为”上一步”、”下一步”、”取消”,以及一个Static控件,它将控制向导页的显示范围,即所有向导页都将显示在此Static控件中。如下图所示:

接着就要添加实际显示的向导页面了,这里我将添加三个对话框作为显示页,它们都是普通的对话框,需要设置边框属性(Border)为None,即没有对话框,风格属性(Style)为Child,即它们将作为子对话框显示在父窗口中,其他的属性值保留默认即可。添加的对话框分别如下图所示:

          页面一,IDD_STEP_ONE

           页面二,IDD_STEP_TWO

            页面三,IDD_STEP_THREE
这里我只是要演示向导对话框的生成,至于每个页面对话框上内容就无从理会了,大家可以根据需要自行修改。新建好这三个对话框后,就要为它们添加类了,在VSS2010中可以通过右键单击对话框,选择“添加类”菜单完成。需要注意的是,这里只需要提供类名称即可,其他设置保留默认,尤其是基类,默认的是CDialogEx或CDialog,而不是MFC的CPropertyPage类。我将添加CStepOneDlg、CStepTwoDlg、CStepThreeDlg三个类,如下图所示。

为了使每个向导页都以相同的方式得知自己将要被激活,即作为当前页面显示,以及上一步、下一步操作,我设计了如下抽象类:
         class IWizardPage
         {
         public:
 
<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值