C++编程入门--使用MFC创建一个简单的计算器程序

运行环境: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运行测试计算器对话框的正确性,完成。

发布了51 篇原创文章 · 获赞 5 · 访问量 2027

猜你喜欢

转载自blog.csdn.net/MARS_098/article/details/103140473