使用MFC AppWizard创建基于对话框的应用程序,实现算术加、减、乘和除的运算。
1、添加控件
(1)、4个Static Text:数据1、数据2、结果、“=”
(2)、3个Edit Control:显示数字
(3)、6个Button:+、-、*、/、clear、exit
2、给Edit Control添加变量(double)
3、给Button添加事件处理函数
“+”:
void CCalculateDlg::OnBnClickedAddButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
m_Item3_Edit=m_Item1_Edit+m_Item2_Edit;
UpdateData(FALSE);
}
“-”:
void CCalculateDlg::OnBnClickedDifferenceButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
m_Item3_Edit=m_Item1_Edit-m_Item2_Edit;
UpdateData(FALSE);
}
“*”:
void CCalculateDlg::OnBnClickedMultiplyButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
m_Item3_Edit=m_Item1_Edit*m_Item2_Edit;
UpdateData(FALSE);
}
“/”:
void CCalculateDlg::OnBnClickedDevideButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
if(!m_Item2_Edit==0)
m_Item3_Edit=m_Item1_Edit/m_Item2_Edit;
UpdateData(FALSE);
}
“clear”:
void CCalculateDlg::OnBnClickedClearButton()
{
// TODO: 在此添加控件通知处理程序代码
m_Item1_Edit=0;
m_Item2_Edit=0;
m_Item3_Edit=0;
UpdateData(FALSE);
}
“exit”:
void CCalculateDlg::OnBnClickedExitButton()
{
// TODO: 在此添加控件通知处理程序代码
OnOK();
}
实验结果:
变量(CString)
"+":
void CCalculateDlg::OnBnClickedAddButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
double m=atof(m_Item12_Edit)+atof(m_Item22_Edit);
m_Item12_Edit.Format(_T("%d"),m);
UpdateData(FALSE);
}
"-":
void CCalculateDlg::OnBnClickedDifferenceButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
double m=atof(m_Item12_Edit)-atof(m_Item22_Edit);
m_Item12_Edit.Format(_T("%d"),m);
UpdateData(FALSE);
}
"*":
void CCalculateDlg::OnBnClickedMultiplyButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
double m=atof(m_Item12_Edit)*atof(m_Item22_Edit);
m_Item12_Edit.Format(_T("%d"),m);
UpdateData(FALSE);
}
"/":
void CCalculateDlg::OnBnClickedDevideButton()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
if(strcmp(m_Item22_Edit,"0")!=0)
{
double m=atof(m_Item12_Edit)/atof(m_Item22_Edit);
m_Item12_Edit.Format(_T("%d"),m);
}
else
m_Item22_Edit=_T("除数不能为0");
UpdateData(FALSE);
}
"clear":
void CCalculateDlg::OnBnClickedClearButton()
{
// TODO: 在此添加控件通知处理程序代码
m_Item12_Edit=_T("");
m_Item22_Edit=_T("");
m_Item32_Edit=_T("");
UpdateData(FALSE);
}
实验结果: