详解基于MFC计算器实现过程
1.也弄个导语
MFC是windows编程中常用的工具,掌握它将使你的编程效率大大提高,举个例子,同样是写计算器,如果使用的是win32 编程,那无遗工作量大了很多,因为每个button你都要用代码生成,其中的代码量可想而知。而使用MFC构架的话,你可以基于dialog将界面直接设计好,这大大减少了工作量。当然作为一名初学者,多写代码往往是进阶的必要途径,所以在你对windows编程还不怎么熟悉之前建议还是先把win32弄熟。好下面进入主题,如何用MFC编写计算器。我将呕心沥血,将一步步的过程呈现在各位看众面前,感谢大家的捧场。
2.MFC的工程生成步骤
首先在工程里面新建工程,选择MFC AppWizard 假设命工程名为Caculator,这个随意,也可以为 屌丝一号之类,开心就行。
在类型那选择基本对话框,然后一路下一步,什么都别管。
然后你会生成如图所示的界面,没错此刻的你如同哥伦布发现了新大陆,你所需要做的是在这片大陆上建你的城堡。
看见旁边的控件栏没,看上的都往界面上拖,别客气。具体需要两类控件,button(按钮) 以及 edit(编辑框),发挥创造力,界面设计后可如下:
注:对button的更改为,右键,属性中更改。
3.按钮事件的添加
假如已经建立了画好的界面,这时的你点按钮是没有反应的。那要怎样才有反应呢?答案是对button添加事件响应,怎么添加?如下:
在画好的界面下使用组合键 ctrl+w 弹出配置界面。如下图
先对该界面中的关键部分解释一下,Object IDs 是你画的界面里的元素ID; Messages是产生事件的方式;因此,对于Button,选择对应的Button ID -> BN_CLICKED(单击) -> Add Fuction(添加方法) -> 确定 ,你可以发现你的代码里产生了如下代码:
也就是说你点击该按钮时就会执行该方法内的语句,
4. 编辑框事件的添加
编辑框的作用是什么? 在该程序中主要是用来显示键入的数字及运算的结果。有两种实现方式,一是将编辑框定义为一个常量,通过赋值的方式将,键盘的值或者运算结果的值给编辑框然后调用方法,显示该变量。第二种方式是将编辑框定义为一个操作,并通过编辑框调用方法来数据显示,或者获取框内数据。步骤如下:
步一:和上面同样的方式打开配置环境,点到Member Variables。 如下
步二: 点到EDIT 然后 点击 Add Variable ,配置如下:
然后编辑框就可以通过 属性名 m_edit 调用方法进行数据显示,及数据获取了。
Char b[20];
m_edit.GetWindowText(b,20); //将编辑框里的内容存入数组b中。
m_edit.SetWindowText(b); //将编辑框里的内容置为数组b里的内容。
5.如何实现计算
完成上面的步骤,MFC的部分基本完成了,接下来的实现过程,基本就和用C之类实现差不多了。对于此,如何利用这些数据进行计算。我的思路如下:当然你也可以设计更牛X的思路。
5.1 设计计算思路
设想二元计算过程都是先输入一个数,输入符号,再输入一个数,然后输入等号,最后出结果。一元运算为输入一个数,输入符号,然后输入等号,最后出结果。
设计思路如下:
输入数据一次在编辑框显示该数据,并将该数据用方法取下来存到一个全局数组中,假设为b[20];定义一个变量sum用来存运算结果, 接下来输入符号,对符号进行判断,如果不是等号则并将该值付给一个变量假如为c, 并将数组里面的值传给sum;再输入一个数,这时对C进行判断,做相应的运算,如sum= sum+ b[20]; 最后输入等号时,对等号进行判断,直接输出sum的值,该值就是最终运算结果。
至此,实现该程序的所以思路便是如此。
参照源码地址:http://download.csdn.net/download/u010511236/7050349
最后,程序的路上一路荆棘,唯有多练、多想才是王道,与君共勉。