MFC CPropertySheet 多页面切换 事例
为了能实现在同一个页面实现多个页面的切换效果。CPropertySheet要与CPropertyPage一起使用。
首先 新建一个MFC工程--MFC AppWizard(exe), 取名Pagesheet, 选择Dialog based, 然后Finish.
2. 在对话框资源中插入两个对话框IDD_DIALOG1、IDD_DIALOG2,作为两个子页。为这两个对话框增加两个类,分别为CPage1和CPage2,其基类选择CPropertyPage。
3. 增加一个属性页类CMySheet, 其基类选择CPropertySheet。
4. 在类CMySheet中增加两个成员变量m_page1,类型为CPage1,m_page2,类型为CPage2。
5. 在类CMySheet的构造函数中添加如下两句,增加两个页。
CMySheet::CMySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
AddPage(&m_page1);
AddPage(&m_page2);
}
6. 在类CPagesheetApp的初始化函数InitInstance()中添加如下两句,将原来声明的对象去掉。改为
CMySheet dlg("test");
m_pMainWnd = &dlg;
7. 最后别忘了在“Pagesheet.cpp”文件中添加头文件“MySheet.h”。
效果如下: