MyMFC(7-9)对话框 CProp1

// Prop1.cpp : 实现文件
//

#include "stdafx.h"
#include "MyMFC2-Dialog.h"
#include "Prop1.h"
#include "afxdialogex.h"


// CProp1 对话框

IMPLEMENT_DYNAMIC(CProp1, CPropertyPage)

CProp1::CProp1()
	: CPropertyPage(CProp1::IDD)	
	, m_occupation(-1)
	, m_workAddr(_T(""))
{

}

CProp1::~CProp1()
{
}

void CProp1::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	DDX_Radio(pDX, IDC_RADIO1, m_occupation);  //自动产生的,用来在按钮控件与成员变量之间交换数据
	DDX_LBString(pDX, IDC_LIST1, m_workAddr);
}


BEGIN_MESSAGE_MAP(CProp1, CPropertyPage)
END_MESSAGE_MAP()


// CProp1 消息处理程序


BOOL CProp1::OnSetActive()
{
	// TODO:  在此添加专用代码和/或调用基类

	((CPropertySheet*)GetParent())->SetWizardButtons(PSWIZB_NEXT);  //在第一个属性页上面只有“下一步”按钮可用


	return CPropertyPage::OnSetActive();
}

/************************************************************************************************************************/
//当用户单击属性页上的“下一步”按钮后,程序将调用OnWizardNext这个虚函数,如果这个函数返回0,那么程序自动进入下一个属性页;如果返回-1,将禁止属性页发生变更
//所以可以添加OnWziardNext虚函数,在函数中进行判断,如果用户没有没有做出选择,就禁止用户进入下一个页面
//首先,要为第一个按钮关联一个成员变量。在该按钮上右击-添加变量,其对应的ID号不是这个按钮的ID号,###需要将该组件中的第一个按钮属性中的Group设为TRUE
//这样才可以为该控件关联一个成员变量,类别选择Value,类型选择int,初始值设为-1。这样当选中第一个按钮时,关联的变量值为1,选择第二个按钮时,关联的变量为2,
//选择第三个按钮时,关联的变量为3。在程序中通过判断该关联成员变量的值,就知道用户选择的是哪个按钮控件,不选择,则值为-1.
LRESULT CProp1::OnWizardNext()  
{
	// TODO:  在此添加专用代码和/或调用基类
	UpdateData(TRUE);  //实现控件与成员变量的数据交换,参数为TRUE,表示从控件得到成员变量。为FALSE,表示用成员变量的值初始化控件
	if (m_occupation == -1)
	{
		MessageBox(CString("请选择你的职业"));
		return -1;  //返回-1是禁止的意思
	}

	//判断用户是否选择了工作地点
	//也是先要为List Box控件关联一个m_workAddr成员变量,类别为Value,类型为CString,
	if (m_workAddr == "")
	{
		MessageBox(_T("请选择你的工作地点"));
			return -1;
	}


	return CPropertyPage::OnWizardNext();
}

/*********************************************************************************************************************/
//用来为属性页的List Box中添加文字。在OnInitDialog函数可以实现,在这个属性页显示之前向列表框中增加一些工作地点
BOOL CProp1::OnInitDialog()   //由添加OnInitDialog虚函数的到
{
	CPropertyPage::OnInitDialog();

	// TODO:  在此添加额外的初始化
	((CListBox*)GetDlgItem(IDC_LIST1))->AddString(_T("北京"));  //AddString函数可以向列表控件中添加文字
	((CListBox*)GetDlgItem(IDC_LIST1))->AddString(_T("天津"));
	((CListBox*)GetDlgItem(IDC_LIST1))->AddString(_T("上海"));
	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常:  OCX 属性页应返回 FALSE
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值