1、新建单文档工程,添加菜单中的属性页项(单击弹出属性页对话框);
2、在资源视图的Dialog下插入3个对话框,设置它们的属性Style =Child,Boder=Thin,TitleBar 和Disable为True。
3、设计每页视图,添加按钮,列表框,多选框,单选框,添加关联变量。
4、往菜单项添加消息处理函数,将3个属性页加入到对话框的框架对象中。
// Page3.cpp : 实现文件
//
#include "stdafx.h"
#include "Dialog2.h"
#include "Page3.h"
#include "afxdialogex.h"
// CPage3 对话框
IMPLEMENT_DYNAMIC(CPage3, CPropertyPage)
CPage3::CPage3()
: CPropertyPage(CPage3::IDD)
, m_city(_T(""))
,m_job(0)
{
}
CPage3::~CPage3()
{
}
void CPage3::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
DDX_LBString(pDX, IDC_LIST_CITY, m_city);
/*********************************************************/
菜单项消息响应函数:
void CDialog2View::OnProp()
{
// TODO: 在此添加命令处理程序代码
CPropertySheet propSheet;
CPage1 page1;
CPage2 page2;
CPage3 page3;
propSheet.AddPage(&page1);
propSheet.AddPage(&page2);
propSheet.AddPage(&page3);
if(propSheet.DoModal()==IDOK)
{
m_age=page1.m_age;
m_name=page1.m_name;
if(page1.m_sex==0)
m_sex="男";
else
m_sex="女";
if(m_name.IsEmpty())
{
MessageBox(_T("你没有输入姓名,不能显示"));
return ;
}
BEGIN_MESSAGE_MAP(CPage3, CPropertyPage)
ON_BN_CLICKED(IDC_RADIO_PRO, &CPage3::OnBnClickedRadioPro)
ON_BN_CLICKED(IDC_RADIO_SOFTER, &CPage3::OnBnClickedRadioSofter)
ON_BN_CLICKED(IDC_RADIO_SYSTEM, &CPage3::OnBnClickedRadioSystem)
END_MESSAGE_MAP()
// CPage3 消息处理程序
BOOL CPage3::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: 在此添加额外的初始化
((CListBox*)GetDlgItem(IDC_LIST_CITY))->AddString(_T("北京"));
((CListBox*)GetDlgItem(IDC_LIST_CITY))->AddString(_T("天津"));
((CListBox*)GetDlgItem(IDC_LIST_CITY))->AddString(_T("上海"));
((CListBox*)GetDlgItem(IDC_LIST_CITY))->AddString(TEXT("深圳"));
((CListBox*)GetDlgItem(IDC_LIST_CITY))->SetCurSel(0);
((CButton*)GetDlgItem(IDC_RADIO_PRO))->SetCheck(1);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CPage3::OnBnClickedRadioPro()
{
// TODO: 在此添加控件通知处理程序代码
m_job=0;
}
void CPage3::OnBnClickedRadioSofter()
{
// TODO: 在此添加控件通知处理程序代码
m_job=1;
}
void CPage3::OnBnClickedRadioSystem()
{
// TODO: 在此添加控件通知处理程序代码
m_job=2;
}
.....
strInput+="工作地点:";
strInput+=m_city;
dc.TextOutW(0,2*tm.tmHeight,strInput);
}
}