2011-6-16MFC CPropertySheet 多页面切换 实例
为了能实现在同一个页面实现多个页面的切换效果。CPropertySheet要与CPropertyPage一起使用。
1) 首先,新建一个MFC工程--MFC AppWizard(exe), 取名Pagesheet, 选择Dialog based, 然后Finish.
2) 在对话框资源中插入两个对话框IDD_DIALOG1、IDD_DIALOG2,作为两个子页。为这两个对话框增加两个类,分别为CPage1和CPage2,其基类选择CPropertyPage。
3) 增加一个属性页类CMySheet, 其基类选择CPropertySheet。
4) 在类CMySheet中增加两个成员变量:
CPage1 m_page1;
CPage2 m_page2;
5) 在类CMySheet的构造函数中添加如下两句,增加两个页。
{
AddPage(&m_page1);
AddPage(&m_page2);
}
6) 在类CPagesheetApp的初始化函数InitInstance()中添加如下两句,将原来声明的对象去掉。改为
CMySheet dlg("test");
m_pMainWnd = &dlg;
7) 最后别忘了在“Pagesheet.cpp”文件中添加头文件“MySheet.h”。
也可以把所有的*.h文件名字写进一个 include.h文件中,然后再每一个.cpp里面只加#include "include.h"
8) 其实新建工程时添加的那个对话框是没用的,包括那个类也是没有用的。可以删掉。
但是彻底删掉有出现不知道如何解决的错误。郁闷.
9) 经证实,此方法可以实现,修改背景和更改vista风格。只需 重载
BOOL CPage1::OnInitDialog()
添加void CPage1::OnPaint() 响应即可
效果如下:
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lerrylee/archive/2009/03/15/3992508.aspx