本文介绍一个简单的口算训练程序,并借助该程序介绍Visual Studio 2019 MFC程序的基本操作。该程序在点击【下一道】按钮时随机生成一道一百以内的加减法算术题,用户输入计算结果后,点击【对答案】可检验计算结果是否正确。
一、安装MFC组件
Visual Studio通常并不会自动包含MFC组件,需要手动安装。首先打开Visual Studio Installer。
点击修改。
选择【使用C++的桌面开发】,在右侧的安装详细信息中勾选【适用于v142生成工具的C++ATL】和【适用于v142生成工具的C++MFC】,最后点击修改,等待安装完成即可。
二、创建MFC项目
使用Visual Studio创建新项目,选择【MFC应用】,点击【下一步】。
填写项目名称,选择存储位置,点击【创建】。
应用程序类型选择【基于对话框】,点击【完成】。项目创建成功。已经默认创建了一个窗口,一个静态文本框,两个按钮。
三、设计用户界面
目前窗口标题栏还是空的,在主窗体单击右键,在右键菜单中选择【属性】,在右侧的属性菜单中的【描述文字】属性中输入标题名。
删除默认创建的文本框和按钮,选中相应组件按下delete或者右键删除即可。然后从右侧的工具箱中将【Edit Control】控件拖拽到窗口中的适当位置,该控件可用于文本的输入和输出。
第一个【Edit Control】控件件用于显示随机算术题的第一个操作数,不允许用户更改。在该控件的【只读】属性修改为【True】,可根据需要自由修改ID。
为了使用代码控制【Edit Control】显示的内容,需要绑定一个变量。具体做法是,右键单击对应控件,选择添加变量。在弹出的窗口中,更改【类别】为【值】,在【名称】填写变量名,更改变量类型为【int】。最后点击【完成】。
类似地,再添加多个【Edit Control】控件,并添加对应变量操作符sym、第二个操作数op2、结果result、正确答案answer、答案判定isRight。其中操作符sym和答案判定isRight的变量类型设置为CString,结果result由用户输入,【只读】属性设置为False。
添加【Static Text】控件,显示等号“=”,【描述文字】属性中填入“=”即可。
最后添加两个【Button】控件,修改【描述文字】和【ID】,完成用户界面设置。
添加的变量会在OralCalculationDlg.h、OralCalculationDlg.cpp中声明为成员变量。如果需要更改或删除已经设置好的变量名,需要手动在代码文件中一一处理。
四、代码
为了让两个按钮发挥作用,需要编写相应代码。双击按钮就会自动跳转到代码编写界面。
代码如下。其中UpdateData()函数用于更新所有【Edit Control】和变量。参数为True时,【Edit Control】赋值给变量;参数为False时,变量赋值给【Edit Control】。
void COralCalculationDlg::OnBnClickedButtonNew()
{
srand(time(NULL));
op1 = rand() % 100;
op2 = rand() % 100;
if (rand() % 2 == 0)
sym = "+";
else
sym = "-";
isRight = L"";
answer = 0;
UpdateData(false);
}
void COralCalculationDlg::OnBnClickedButtonCheck()
{
UpdateData(true);
if (sym == "+")
answer = op1 + op2;
else
answer = op1 - op2;
if (answer == result)
isRight = L"正确";
else
isRight = L"错误";
UpdateData(false);
}
最终成果已经在文章开头给出,大功告成!