初学VC2010之属性页对话框

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);
 }
 
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值