版权声明:本文为博主原创文章,未经博主允许不得转载。 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时将成员变量的值更新到关联的控件上。
}