Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用MFC添加两个数字_C++_Mfc - Fatal编程技术网

C++ 使用MFC添加两个数字

C++ 使用MFC添加两个数字,c++,mfc,C++,Mfc,因为我是MFC的初学者,我需要一些帮助来理解一些基础知识。目前,我还不清楚如何获取一些值(通过ID或其他方式)并使用它,或更改它 假设我有这样的东西: 编辑框的ID分别为:IDC_EDIT1、IDC_EDIT2、IDC_EDIT3 计算按钮的ID为IDC\u按钮1 我如何获取IDC_EDIT1的值,并将其添加到IDC_EDIT2中,然后在单击计算时显示它IDC_EDIT3 创建此对话框后,我得到以下代码: void CMFCApplication1Dlg::OnBnClickedButton1

因为我是MFC的初学者,我需要一些帮助来理解一些基础知识。目前,我还不清楚如何获取一些值(通过ID或其他方式)并使用它,或更改它

假设我有这样的东西:

编辑框的ID分别为:
IDC_EDIT1
IDC_EDIT2
IDC_EDIT3

计算按钮的ID为
IDC\u按钮1

我如何获取
IDC_EDIT1
的值,并将其添加到
IDC_EDIT2
中,然后在单击计算时显示它
IDC_EDIT3

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

void CMFCApplication1Dlg::OnBnClickedButton1()
{

}


void CMFCApplication1Dlg::OnEnChangeEdit1()
{

}


void CMFCApplication1Dlg::OnEnChangeEdit2()
{

}


void CMFCApplication1Dlg::OnEnChangeEdit3()
{

}
MFC CDialog是一种CWnd(继承)。因此,您可以使用
GetDlgItem
访问它的孩子。如果您只想处理整数,甚至可以使用helper方法
getdlgitemit
,它会将CEdit的文本作为整数提供给您。完成此操作后,只需将两个数字相加,并使用结果设置最后一个CEdit的值(该值应为非活动的只读值),使用
setdGitMint

如果要接受浮点,应使用
SetDlgItemText
读取值,然后使用
SetDlgItemText
写入值,并手动处理与double之间的转换

我的意思是,您不必使用
onechangeeditx
通知,而是在
OnBnClickedButton1
one中执行所有操作

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

MFC CDialog是CWnd(继承)。因此,您可以使用
GetDlgItem
访问它的孩子。如果您只想处理整数,甚至可以使用helper方法
getdlgitemit
,它会将CEdit的文本作为整数提供给您。完成此操作后,只需将两个数字相加,并使用结果设置最后一个CEdit的值(该值应为非活动的只读值),使用
setdGitMint

如果要接受浮点,应使用
SetDlgItemText
读取值,然后使用
SetDlgItemText
写入值,并手动处理与double之间的转换

我的意思是,您不必使用
onechangeeditx
通知,而是在
OnBnClickedButton1
one中执行所有操作

由于您尚未显示当前代码,我无法在这里多说…

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

void CMFCApplication1Dlg::OnBnClickedButton1()
{
   int a = GetDlgItemInt(IDC_EDIT1);
   int b = GetDlgItemInt(IDC_EDIT2);
   SetDlgItemInt(IDC_EDIT3, a+b);
}
对于初学者,请尝试以下操作:

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

您需要获取编辑值,转换为数字,计算,将结果转换回(MFC特定?)字符串,然后设置第三个编辑值。解释如何将实例变量连接到控件,并使它们反映当前状态。您需要获取编辑值,转换为数字,计算,将结果转换回(MFC特定?)字符串,然后设置第三个编辑值。解释如何将实例变量连接到控件,并使它们反映当前状态。