C++做四则运算的MFC计算器(一)MFC界面创建

 

学习最有效的方法就是实战,今儿 ~ 就写个MFC加减乘除计算器。

篇幅较长,分成两篇,一写前台MFC界面搭建,二写后台计算原理及代码。这是第一篇。

关于运算的实现见第二篇文章:C++做四则运算的MFC计算器(二)栈转换和计算后缀表达式

  搭建MFC项目

以VS2017为例,新建项目->MFC项目,写名字,设路径

 

 

 

应用程序类型,选择基于对话框的,其他默认即可,直到最后一步

 

 

生成的类选择Dlg

 

 

完成后,项目里会有很多自动添加的资源

 

 

.ico是图标,你爱怎么玩就怎么玩吧

.rc和.rc2的区别我也没看出来,双击都会调到下面这个地方,在这编辑界面。

 

 

Dialog就是主要编辑的地方,ABOUTBOX是帮主窗口,MFCCALCULATION_DIALOG是主要窗口

 

那怎么加东西呢?在工具箱里,工具箱一般在侧面的一个犄角格拉里,竖着的,里面有各种组件

 

感兴趣的玩玩看,反正你一时半会是玩不懂的(手动滑稽)

一个能看的计算器得有按钮给鼠标用户操作吧,还得考虑闲鼠标麻烦用键盘的功能吧,用button按钮、Edit Control编辑框和static text静态文本就够了。

把button拖到界面上,再按Ctrl拖能复制,数字0-9、+、-、*、/、(、)、删除、清空和 =,1个按钮。用参考线(格式->参考线设置)布局更方便。

右键按钮->属性,Caption是按钮的内容,ID每个独立,可以自己写也可以下拉选框中选。

 

 

  按钮事件

“删除”按钮点一次删除一个字符,“清空”按钮就是清空,其他按钮每点一次,表达式编辑框就加一个字符

先为编辑框创建“值”变量、“控件”变量来控制内容,简单地理解:“值”给“控件”就会显示。右键表达式编辑器->添加变量

“值”类别是编辑框要现实的内容,名字起个editv吧。在以同方法建“控件”类型变量editc。

计算结果框也要有“值”变量和“控件”变量,分别叫resultv、resultc吧。

 

 

 

接下来为每个按钮单击时显示到编辑框中。

双击按钮,自动添加单击事件的函数,并跳转到MFCcalculationDlg.cpp,

使用UpdateData(false)将变量值给控件,要反过来把false改成true,这个后面会用到。为每个按钮添加对应的函数。

 

 

 

实现删除使用editv = editv.Left(editv.GetLength() - 1),Left(n)取左边n个字符,editv.GetLength()取editv的长度,长度-1就删掉最后一个。

实现清空使用editv = "";

 

 

“=”的功能是将控件的值传给变量,再调用其他计算函数计算,把计算结果传给另一个编辑框中。在这里先不实现计算功能了,让右边的框显示左边的内容吧。

调试结果是这个样子的:

 

关于运算的实现见第二篇文章:C++做四则运算的MFC计算器(二)栈转换和计算后缀表达式

转载于:https://www.cnblogs.com/foxer-z/p/10967557.html

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值