1、概要,用MFC CPropertyPage CPropertySheet 实现多页面切换,效果如下:
2、创建两个Dialog
资源视图>Dialog 右击>插入Dialog
设置属性为Border Thin,Style Child
Caption分别为Dialog1与Dialog2
ID分别为IDD_DIALOG1与IDD_DIALOG2
3、创建类
Dialog1与Dialog2操作相同,这里以Dialog1为例
右击Dialog1视图框>类向导>添加类(点下拉的三角形)>MFC类>CPropertyPage
注意这里是CPropertyPage,不是CMFCPropertyPage,如果选了CMFCPropertyPage为基类,则最后会报资源无法调用等错误。
类名称随便写,这里写CPage1
点击确定,如报如下错误,点确定。手动将CPage1.cpp和CPage1.h中IDD_CPage1改为新建的Dialog的ID,我这里为IDD_DIALOG1
4、添加类
视图>类试图,找到CPage1>重写 ,如下图所示。CPage2操作相同。
将OnSetActive选中,CPage1.cpp中同时会出现如下代码
5、在主Dialog中创建显示属性页的地方(一个Static Text)
设置属性Border True, ID IDC_Sheet
6、添加调用函数
在testDlg.h(刚开始新建MFC工程的时候生成的文件)中添加如下代码
在testDlg.cpp(刚开始新建MFC工程的时候生成的文件)中添加如下头文件
#include "CPage1.h"
#include "CPage2.h"
在testDlg.cpp(刚开始新建MFC工程的时候生成的文件)中添加如下代码,并在OnInitDialog()函数调用此函数。
7、运行出结果