使用MFC加上两个数字

时间:2018-10-22 15:24:05

标签: c++ mfc

由于我是MFC的初学者,因此我需要帮助来了解一些基础知识。目前,我还不清楚如何获取(使用ID或其他方式)某些值并使用它,或对其进行更改...

让我们说我有这样的事情:

enter image description here

编辑框的ID分别为:IDC_EDIT1IDC_EDIT2IDC_EDIT3

“计算”按钮的ID为IDC_BUTTON1

如何获取IDC_EDIT1的值并将其添加到IDC_EDIT2,然后在计算点击次数时将其显示为IDC_EDIT3

创建此对话框后,我得到以下代码:

void CMFCApplication1Dlg::OnBnClickedButton1()
{

}


void CMFCApplication1Dlg::OnEnChangeEdit1()
{

}


void CMFCApplication1Dlg::OnEnChangeEdit2()
{

}


void CMFCApplication1Dlg::OnEnChangeEdit3()
{

}

2 个答案:

答案 0 :(得分:3)

对于初学者,请尝试以下操作:

void CMFCApplication1Dlg::OnBnClickedButton1()
{
   int a = GetDlgItemInt(IDC_EDIT1);
   int b = GetDlgItemInt(IDC_EDIT2);
   SetDlgItemInt(IDC_EDIT3, a+b);
}

答案 1 :(得分:1)

MFC CDialog是CWnd(继承)。因此,您可以使用GetDlgItem访问其子级。如果只想处理整数,甚至可以使用辅助方法GetDlgItemInt,该方法将为您提供CEdit的文本为整数。完成此操作后,只需将两个数字相加,然后使用结果将SetDlgItemInt设置为最后一个CEdit的值(该值应为只读状态)。

如果要接受浮点,则应使用SetDlgItemText读取值,并使用SetDlgItemText写入它们,并手动处理往返于双精度值的转换。

我的意思是,您不必使用OnEnChangeEditx通知,而只需处理OnBnClickedButton1中的所有内容。

由于您没有显示当前代码,所以我在这里不能多说...