运行环境:Visual Studio 2013
1、创建基于对话框的MFC应用程序
第一步:
- 打开Visual Studio 2013,单击“新建项目”,弹出“新建项目”对话框;
- 选择“MFC应用程序”模板
- 输入项目名称:SimpleDialogMfc
- 单击“确定”按钮
第二步:
- 单击“下一步”按钮
第三步:选择新建的MFC应用程序项目的类型
- 单击“基于对话框”
- 单击“下一步”
第四步:为新建的MFC应用程序项目选择用户界面类型
- 单击“下一步”按钮
第五步:为新建的MFC应用程序选择高级功能
- 单击“下一步”按钮
第六步:为新建的MFC应用程序项目选择生成的类
- 单击“完成”按钮
新建MFC应用程序完成,界面如下:
2、修改项目界面--控件使用
第一步:修改对话框属性
- 单击“资源视图”,展开资源视图,按路径MFCApplication1SimpleDialogMfc演示/MFCApplication1SimpleDialogMfc演示.rc/Dialog/IDD_SIMPLEDIALOGMFC_DIALOG,双击打开IDD_SIMPLEDIALOGMFC_DIALOG
第二步:修改对话框属性
- 在对话框内右击,选择“属性”菜单项
- 右下角找到并修改“caption”属性,即对话框标题文字“简单的对话框应用程序--简易计算器”
第三步:移动按钮位置,并修改按钮属性
- 鼠标拖动“确定”和“取消”按钮位置
- 右击“确定”按钮,选择属性,右下角找到并修改caption,将“确认”修改为“计算”,“取消”修改为“退出”
第四步:添加第一个操作控件
- 在“视图”工具栏调出“工具箱”,或者直接Ctrl+Alt+X呼出,按住“Group Box”控件拖动到对话框中(默认的TODO:再次防止对话框控件可以右击删除)
- 右击呼出“属性”修改“caption”值,默认值为“static”修改为“操作数一”
- 从“工具箱”中拖动添加一个EditorControl控件,放置在前面添加的Group Box控件正中间,右击是“属性”确认该空间默认ID为IDC_EDIT1
第五步:添加第二个操作控件
- 在“视图”工具栏调出“工具箱”,按住“Group Box”控件拖动到对话框中
- 右击呼出“属性”修改“caption”值,默认值为“static”修改为“操作数二”
- 从“工具箱”中拖动添加一个EditorControl控件,放置在前面添加的Group Box控件正中间,该空间默认ID为IDC_EDIT2
第六步:添加表示计算结果的控件
- 调出“工具箱”,按住“Group Box”控件拖动到对话框中
- 右击呼出“属性”修改“caption”值,默认值为“static”修改为“运算结果”
- 从“工具箱”中拖动添加一个EditorControl控件,放置在前面添加的Group Box控件正中间,该空间默认ID为IDC_EDIT3
- 右击IDC_EDIT3呼出“属性”,在属性中找到“ReadOnly”值改为“True”
第七步:添加表示运算符的控件
- 调出“工具箱”,按住“Group Box”控件拖动到对话框中,并设置Caption为“运算符”
- 从“工具箱”中依次拖动添加三个“Radio Button”单选框按钮
- 注意三个单选框的ID号分别为IDC_RADIO1到IDC_RADIO3
第八步:修改表示运算符的控件属性
- 修改这三个单选框的“caption”值分别为“+”,“-”,“*”
第九步:修改表示运算符的控件属性
- 修改IDC_RADIO1属性Group值为True,表示这个单选框是一组单选框的第一个
3、为两个输入编辑框关联变量
第一步:
- 右击IDC_EDIT1控件,选择“添加变量”,呼出“添加成员变量向导”窗口
第二步:
- 选中控件变量,类别设置为Value
- 设置变量类型为double
- 设置变量名为m_vEdit1
- 点击“完成”
第三步:
- 重复前一步骤为操作数二的编辑框控件IDC_EDIT2设置关联变量,唯一区别是变量名为m_vEdit2
- 重读前一步骤为运算结果的编辑框控件IDC_EDIT3设置关联变量,唯一区别是变量名为m_result
第四步:
- 右击代表“+”号的单选框,选择“添加变量”
- 选中“控件变量”,设置类别为“Value”,设置变量名为m_vRadio1
4、为消息时间编程
第一步:
- 右击IDC_EDIT1控件,选择“添加事件处理程序”
- 选择“EN_CHANGE”
- 点击“添加编辑”
第二步:增加获取控件输入数据的语句
- 在如图程序位置添加程序语句“UpdateData(TRUE);”(参数TRUE的作用是:刷新控件的值到对应的关联变量)(OnEnChangeEdit1()函数,用户单击对应单选框会激活此事件函数)
- 然后返回对话框应用程序界面
第三步:为IDC_EDIT2增加获取控件输入数据的语句
- 操作同前两步一样,为IDC_EDIT2增加获取控件输入数据的语句
第四步:为三个单选框增加获取用户选择的语句
- 右击第二个单选框控件即IDC_RADIO2,选择“添加事件处理程序”
- 选择“EN_CLICKED”消息类型,单击添加编辑
第五步:为三个单选框增加获取用户选择的语句
- 添加程序控制语句“UpdateData(TRUE);”
- IDC_RADIO3单选框控件添加同上两步
第六步:为计算按钮编写运算代码
- 右击计算按钮,选择“添加事件处理程序”,为BN_CLICKED事件添加代码,代码语句如下:
- //先判断单选框关联变量m_vRadio1的值
//0表示+,1表示-,2表示*
if (m_vRadio1 == 0)
m_result = m_vEdit1 + m_vEdit2;
else
if (m_vRadio1 == 1)
m_result = m_vEdit1 - m_vEdit2;
else
m_result = m_vEdit1 * m_vEdit2;
//更新变量值到相应控件显示
UpdateData(FALSE);- 注意若原函数中有“CDialogEx::OnOK();”语句建议注释掉,因为在计算完成后会立即退出而看不到计算结果
最后一步:
- Ctrl+F5运行测试计算器对话框的正确性,完成。