使用CPropertySheet和CPropertyPage实现
步骤:
1.新建一个MFC对话框工程, 工程名为PageSwitch。
2.在资源中插入两个对话框IDD_PAGE1、IDD_PAGE2,作为两个子页:
分别为两对话框增加一个各自的类,分别为CPage1和CPage2,基类选择CPropertyPage。
3. 增加一个属性页类CSheetBase, 基类选择CPropertySheet。
4. 在类CSheetBase中增加两个成员变量m_page1,m_page2。
5.在类CSheetBase的构造函数中添加如下代码,增加两个页:
CSheetBase::CSheetBase(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
AddPage(&m_page1);
AddPage(&m_page2);
}
CSheetBase::CSheetBase(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_page1);
AddPage(&m_page2);
}
CSheetBase::~CSheetBase()
{
}
- 在工程文件“PageSwitch.cpp”中 #include “SheetBase.h”
- 在CPageSwitchApp类的InitInstance()函数中将原来声明的对象CPageSwitchDlg dlg;
改为CPageSwitchDlg dlg;
如下:
// CPageSwitchDlg dlg; //原来
CSheetBase dlg("SaleSystem");//
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
运行结果: