【基于VS2010的MFC编程】多功能计算器
平台/工具: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编程】多功能计算器相关推荐
- 【基于VS2010的MFC编程】四则运算计算器
平台/工具:VS2010 目的:利用VS2010平台创建一个MFC工程,实现四则运算计算器的程序编写和界面设计 项目分析:实现 "+""-""&quo ...
- 【基于VS2010的MFC编程】多功能计算器转载与改进
索引 1.原文 2. 改进 1.原文 平台/工具:VS2010 目的:利用VS2010平台创建一个MFC工程,实现多功能计算器的程序编写和界面设计 项目分析:首先是根据功能进行界面设计:需要一个供编辑 ...
- mfc随记:基于vs2010创建MFC ActiveX控件并测试
一.新建一个空项目 以管理员打开vs2010,选择新建一个mfc activeX控件,填写项目名称和路径,其他无需修改,直接默认一直下一步即可 二. 添加测试方法 在底部tab栏切换到类视图,右键添加 ...
- 基于VS2010下MFC编写程控软件,控制衰减器
软件需求: 只需要能够控制衰减器,满足使衰减器的衰减值满足要求即可. 接口要求: USB控制 实现过程: 可以去mini-circuits官网下载编程手册,里面会有对应的编程例子,可以参考着编写即可.
- VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)
上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObje ...
- (转载)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)
上一节中鸡啄米讲了菜单及CMenu类的使用,这一节讲与菜单有密切联系的工具栏. 工具栏简介 工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成.当用户用鼠标单击工具栏上某个按钮时,程 ...
- VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)
上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button.Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件 ...
- VS2010/MFC编程入门之四十四:定时器Timer
前面一节鸡啄米讲了CTime类和CTimeSpan类的使用,本节继续讲与时间有关的定时器.定时器并不是一个类,主要考虑到,提起时间的话就不能不说定时器,所以就把它放到CTime和CTimeSpan之后 ...
- VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)
上一节是关于列表视图控件List Control的上半部分,简单介绍了列表视图控件,其通知消息的处理和有关结构体的定义.本节继续讲解下半部分,包括列表视图控件的创建.CListCtrl类的主要成员函数 ...
最新文章
- Mysql查询的一些操作(查表名,查字段名,查当月,查一周,查当天)
- @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
- VS2010项目生成时提示错误“在证书存储区中找不到清单签名证书”?
- 深刻理解Java多态
- Loadrunner 入门连载教程
- 端到端机器学习_端到端机器学习项目:评论分类
- 白话经典算法系列之一 冒泡排序的三种实现
- GCC 命令选项使用详解
- 你觉得外观模式和代理模式的联系和区别是什么?_GoF23种设计模式
- SAP License:OAYZ中的使用年限无法更改
- kafka基本概念和hello world搭建
- 求知若渴,一份15选8的套餐给你
- Win7下使用VC6.0的注意事项
- 设置UITextField键盘上return key不可点击
- LCD12864显示屏原理及使用教程
- LVGL v8.1.0 lv_table 内存泄漏问题
- RK3288开发板——Debian8系统制作
- 靖空间公众号正式开张
- Vue/js 富文本编辑器、excel编辑器合集
- 植物神经紊乱、焦虑症和抑郁症之间有哪些区别呢?