使用 MFC 将两个数字相加
Posted
技术标签:
【中文标题】使用 MFC 将两个数字相加【英文标题】:Add two numbers using MFC 【发布时间】:2018-10-22 15:24:04 【问题描述】:由于我是 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()
【问题讨论】:
您需要获取 Edits 值,转换为数字,计算,将结果转换回(MFC 特定?)字符串,然后设置第三个 Edit 值。 Dialog Data Exchange 解释了如何将实例变量连接到控件,并让它们反映当前状态。 【参考方案1】:首先,试试这个:
void CMFCApplication1Dlg::OnBnClickedButton1()
int a = GetDlgItemInt(IDC_EDIT1);
int b = GetDlgItemInt(IDC_EDIT2);
SetDlgItemInt(IDC_EDIT3, a+b);
【讨论】:
【参考方案2】:MFC CDialog 是一个 CWnd(继承)。所以你可以使用GetDlgItem
访问它的子节点。如果您只想处理整数,您甚至可以使用帮助器方法GetDlgItemInt
,它会将 CEdit 的文本作为整数提供给您。完成此操作后,您只需将两个数字相加并使用结果将最后一个 CEdit 的值(应该是非活动的或只读的)设置为 SetDlgItemInt
。
如果您想接受浮点数,您应该使用SetDlgItemText
读取值并使用SetDlgItemText
写入它们并手动处理与double 的转换。
我的意思是,您不必使用OnEnChangeEditx
通知,而是执行OnBnClickedButton1
通知中的所有内容。
由于你没有展示你当前的代码,我不能在这里多说......
【讨论】:
以上是关于使用 MFC 将两个数字相加的主要内容,如果未能解决你的问题,请参考以下文章