分享

初学VC2010之属性页对话框

 牛人的尾巴 2014-12-23
分类: VC++ 2011-05-15 21:21 2197人阅读 评论(0) 收藏 举报

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条评论

    发表

    请遵守用户 评论公约

    类似文章 更多