MFC/C++学习系列之简单记录9——简单加法
- 前言
- 界面设计
-
- 控件添加
- 添加变量
- 添加事件
- 后台代码
- 总结
前言
基本的一些使用已经了解,那么就做个简单的加法来练手吧!
界面设计
控件添加
在工具箱中选择Edit control和Static Text两个控件,分别设置为数据输入、符号“+、=”、数据显示框。
添加变量
设置好简单的控件,需要给控件定义变量名称。鼠标右击控件,选择添加变量。将我们需要输入、输出显示的控件进行变量名称命名。
这一步是为了程序后台内部绑定。
添加事件
鼠标右击控件,选择添加事件。这里需要在输入数据端进行事件添加。当我输入某一个数据后,我需要在等号后的显示框中显示计算结果,就需要添加事件,当控件响应指示文本更改以后显示已更新,同步更新数据显示。
后台代码
void CMFCApplication1Dlg::OnEnChangeEdit1()
{
// TODO: 在此添加控件通知处理程序代码
CString str_sum1, str_sum2, str_sum3;
CEdit* pEdit1 = (CEdit*)GetDlgItem(IDC_EDIT1);
CEdit* pEdit2 = (CEdit*)GetDlgItem(IDC_EDIT2);
CEdit* pEdit3 = (CEdit*)GetDlgItem(IDC_EDIT3);
pEdit1->GetWindowText(str_sum1);
pEdit2->GetWindowText(str_sum2);
int num1 = _ttoi(str_sum1);
int num2 = _ttoi(str_sum2);
if (num2 != NULL && num1 != NULL)
{
int num3 = num1 + num2;
str_sum3.Format(_T("%d"), num3);
pEdit3->SetWindowText(str_sum3);
}
}
- 换算问题:
这里涉及到CString转int类型的问题。
CString转int就是使用_ttoi函数。
CString str_sum1("123");
int num=_ttoi(str_sum1);
int转CString就是使用Format。
int num=111;
CString str_sum3.Format(_T("%d"), num);
- 控件数据获取与显示。
这里用到CEdit 是提供了标准编辑控件的功能,可以获取控件的指针,对文本控件进行输入和显示编辑。
通过CEdit 的GetWindowText就是在对应的控件获取对应的字符串,也就是我们的输入。
通过CEdit 的SetWindowText就是放置对应的字符串在对应的控件中,也就是我们的输出。 - 消息映射
这里的OnEnChangeEdit1()就是我们第一个输入框的响应事件,当输入框输入数据,那么会在对应操作后显示数据在显示框中。
总结
简单的一个加法器把控件、消息映射等基本功能用起来,后期可以开发更多新玩意!