由于我是MFC的初学者,因此我需要帮助来了解一些基础知识。目前,我还不清楚如何获取(使用ID或其他方式)某些值并使用它,或对其进行更改...
让我们说我有这样的事情:
编辑框的ID分别为:IDC_EDIT1
,IDC_EDIT2
,IDC_EDIT3
。
“计算”按钮的ID为IDC_BUTTON1
。
如何获取IDC_EDIT1
的值并将其添加到IDC_EDIT2
,然后在计算点击次数时将其显示为IDC_EDIT3
?
创建此对话框后,我得到以下代码:
void CMFCApplication1Dlg::OnBnClickedButton1()
{
}
void CMFCApplication1Dlg::OnEnChangeEdit1()
{
}
void CMFCApplication1Dlg::OnEnChangeEdit2()
{
}
void CMFCApplication1Dlg::OnEnChangeEdit3()
{
}
答案 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
中的所有内容。
由于您没有显示当前代码,所以我在这里不能多说...