MFC-VS2008建立数值型的关联变量

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huanhuanxiaoxiao/article/details/81408952

由于vs2008取消了Class Wizard,有时候找不到在哪里建立数值型的关联变量。

首先,我们右键点击我们需要建立关联变量的控件,点击添加变量。如下图

然后,我们选择选择添加变量的类型。Control为控件型,Value为数值型。

添加完后的效果:

void CComputerDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_LEFT, m_nLeft);
	DDX_Text(pDX, IDC_RIGHT, m_nRight);
	DDX_Text(pDX, IDC_RES, m_nRes);
	DDX_CBIndex(pDX, IDC_OPER, m_nOper);
}

简易的计算器代码:

 /*当你使用了ClassWizard建立了控件和变量之间的联系后:
 当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);
 如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。  */
void CComputerDlg::OnBnClickedOk()
{
	UpdateData();//缺省传入true,将控件上的数据更新到关联的成员变量;
	switch(m_nOper)
	{
	case 0:
		m_nRes = m_nLeft + m_nRight;
		break;
	case 1:
		m_nRes = m_nLeft - m_nRight;
		break;
	case 2:
		m_nRes = m_nLeft * m_nRight;
		break;
	case 3:
		if(m_nRight < fabs(0.000001))
		{
			AfxMessageBox(_T("除数不能为0!"));
		}
		else
		{
			m_nRes = m_nLeft / m_nRight;
		}
		break;
	}
	UpdateData(false);//false时将成员变量的值更新到关联的控件上。

}

猜你喜欢

转载自blog.csdn.net/huanhuanxiaoxiao/article/details/81408952