平台/工具:VS2010
目的:利用VS2010平台创建一个MFC工程,实现多功能计算器的程序编写和界面设计
项目分析:首先是根据功能进行界面设计:需要一个供编辑和显示的编辑框 、多种运算符按钮(“+”“-”“×”“÷”“平方”“开方”“指数”“log”)、0~9数字按钮、“=”和“.”按钮、辅助功能按钮(“关于软件”“清零”“后退”);其次是添加一些类和功能代码”
方法步骤:
Step 1: MFC工程创建部分
建立一个不使用Unicode库的MFC工程,工程命名为“多功能计算器”。


注意:Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。(百度百科)
但是使用该库时,汉字等字符需要在前面加上“_T”,比较麻烦,为了简便,不选择该库。

Step 2:主对话框设计部分
(1)建立好基于对话框的工程后,将默认主对话框上的几个控件均删除:删除“TODO: 在此放置对话框控件。” 删除“确定”“取消”按钮。

(2)添加编辑框(Edit Control)控件到主对话框顶部,用于显示用户的输入以及计算结果,拖动修改其大小;选中该编辑框->右键->添加变量->Control类别对应的变量类型为CEdit,变量名为m_edit, Value类别对应的变量类型为CString,变量名为m_str,如下两图所示:


(3)添加按钮控件到主对话框,调整按钮大小,为了保持大小一致,可以先添加一个按钮,然后复制粘贴。编辑按钮的Caption属性为适当的名字,数字按钮的ID改为IDC_NUM_0、IDC_NUM_1…… IDC_NUM_9;操作符按钮的ID改为IDC_ADD,IDC_DEC,IDC_MULTIPLY,IDC_DIVIDE (上述分别为“+”“-”“×”“÷”的ID),IDC_SQUARE,IDC_SQRT,IDC_EXP,IDC_LOG (上述为“平方”“开方”“指数”“log”的ID);“关于软件”的ID为IDC_ABOUT_BUTTON,“后退”的ID为IDC_BACK_BUTTON,“清零”的ID为IDC_CLEAR_BUTTON,“=”的ID为IDC_EQUAL,“.”的ID为IDC_DEMICAL。设计完成的主对话框如下图所示:

Step 3:代码添加部分
设计好主对话框后,开始双击按钮进入主程序中相应的位置,添加消息处理程序。
(1)首先在××Dlg.h(主程序头文件,××是你建立的工程名,如工程名为“多功能计算器”,则主程序头文件为“多功能计算器Dlg.h”)中主对话框类中的公有成员(public:)中添加代码,如下图所示,红框内为手动添加的代码:

(2)在××Dlg.cpp主程序中添加如下代码:
①在程序顶部包含cmath头文件:#include “cmath”(因为开方函数sqrt()、指数函数pow()需要该头文件)
②在初始化函数BOOL C多功能计算器Dlg::OnInitDialog()中添加m_edit.SetWindowText(“”);将编辑框初始化为空

③双击主对话框中的按钮,主程序会自动添加其消息响应函数,在函数体中添加实现代码:
A、“关于软件”按钮的代码:

void C多功能计算器Dlg::OnBnClickedAboutButton()     //“关于软件”按钮
{// TODO: 在此添加控件通知处理程序代码
//----添加的代码----------------- CAboutDlg dlg;dlg.DoModal();
//此处没有做过多的编辑,直接调用MFC程序创建时系统自动生成的“关于”对话框
//--------------------------------
}

B、“后退”按钮的代码:

【基于VS2010的MFC编程】多功能计算器相关推荐

  1. 【基于VS2010的MFC编程】四则运算计算器

    平台/工具:VS2010 目的:利用VS2010平台创建一个MFC工程,实现四则运算计算器的程序编写和界面设计 项目分析:实现 "+""-""&quo ...

  2. 【基于VS2010的MFC编程】多功能计算器转载与改进

    索引 1.原文 2. 改进 1.原文 平台/工具:VS2010 目的:利用VS2010平台创建一个MFC工程,实现多功能计算器的程序编写和界面设计 项目分析:首先是根据功能进行界面设计:需要一个供编辑 ...

  3. mfc随记:基于vs2010创建MFC ActiveX控件并测试

    一.新建一个空项目 以管理员打开vs2010,选择新建一个mfc activeX控件,填写项目名称和路径,其他无需修改,直接默认一直下一步即可 二. 添加测试方法 在底部tab栏切换到类视图,右键添加 ...

  4. 基于VS2010下MFC编写程控软件,控制衰减器

    软件需求: 只需要能够控制衰减器,满足使衰减器的衰减值满足要求即可. 接口要求: USB控制 实现过程: 可以去mini-circuits官网下载编程手册,里面会有对应的编程例子,可以参考着编写即可.

  5. VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

    上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObje ...

  6. (转载)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)

    上一节中鸡啄米讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏. 工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成.当用户用鼠标单击工具栏上某个按钮时,程 ...

  7. VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)

    上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button.Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件 ...

  8. VS2010/MFC编程入门之四十四:定时器Timer

    前面一节鸡啄米讲了CTime类和CTimeSpan类的使用,本节继续讲与时间有关的定时器.定时器并不是一个类,主要考虑到,提起时间的话就不能不说定时器,所以就把它放到CTime和CTimeSpan之后 ...

  9. VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)

    上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构体的定义.本节继续讲解下半部分,包括列表视图控件的创建.CListCtrl类的主要成员函数 ...

最新文章

  1. Mysql查询的一些操作(查表名,查字段名,查当月,查一周,查当天)
  2. @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  3. VS2010项目生成时提示错误“在证书存储区中找不到清单签名证书”?
  4. 深刻理解Java多态
  5. Loadrunner 入门连载教程
  6. 端到端机器学习_端到端机器学习项目:评论分类
  7. 白话经典算法系列之一 冒泡排序的三种实现
  8. GCC 命令选项使用详解
  9. 你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式
  10. SAP License:OAYZ中的使用年限无法更改
  11. kafka基本概念和hello world搭建
  12. 求知若渴,一份15选8的套餐给你
  13. Win7下使用VC6.0的注意事项
  14. 设置UITextField键盘上return key不可点击
  15. LCD12864显示屏原理及使用教程
  16. LVGL v8.1.0 lv_table 内存泄漏问题
  17. RK3288开发板——Debian8系统制作
  18. 靖空间公众号正式开张
  19. Vue/js 富文本编辑器、excel编辑器合集
  20. 植物神经紊乱、焦虑症和抑郁症之间有哪些区别呢?

热门文章

  1. qchart 坐标轴设置_如何明确设置QChart坐标轴?
  2. UML测试题(用例规约)
  3. python通过字典将传入的数字转化为对应的中文数字
  4. 无需公网IP,快速远程登录家里的威联通NAS
  5. 威联通Kodbox搭建(MariaDB)
  6. (产品资源)mdyGpioAd9248Tlv5638模块
  7. 【面经】深信服测试实习生面经
  8. 记录一下误删除了mysql表中的数据后的恢复过程
  9. Python基于PyaotoGUI实现Excel插件XLSTAT偏最小二乘运算(PLSR)的批量操作
  10. java小项目之打印账单