初学MFC

初学MFC编程,写了一个简单的加法计算器,来分享一下。

编程环境为VS2013。

首先新建一个MFC应用程序,命名为Addition,选择存储路径   -->   MFC应用向导界面,这个是MFC提供的默认环境,我们需要自己设置下,所以点击下一步   -->   应用程序类型

界面,应用程序类型选择基于对话框,其余默认  -->   至此就可以实现我们的加法计算器的小功能了,可以直接点完成,当然后面还是有很多设置,大家可以继续点下一步看看都

有些什么,后面有一些默认高级功能其实不是必须的,可以去掉。

点击完成后就进入Solution Explorer视图中了,此工程中的文件相对较少,在类视图中可以看到主要有3个类:CAboutDlg,CAdditionApp,CAdditionApp。CAdditionDlg是应

用程序的“关于”对话框,CAdditionApp是由CWinApp派生的类,CAdditionDlg是主对话框类,主对话框类也就是此应用程序运行后显示的主要界面。



此时界面中共有四个控件:1.整个大框框,是个对话框dialog,右键-->属性,可以进行一些设置。我们需要设置下Caption(标题),设置为简易加法计算器。其余默认。

2.中间的静态文本static text,右键删去,没用。

3.右下角确认按钮button。

4.右下角取消按钮button。


现在开始设置我们的加法计算器的界面。

点击最左边竖边栏的工具箱(如果没有的话可以在视图-->工具箱打开),拖三个static text和三个edit Control。分别表示被加数,加数,和。static text用于做标识,edit Control

用于接收输入。排列整齐下,可以通过格式-->对齐,格式-->均匀隔开排列下。


右键第一个static text属性。设置Caption为 被加数: 。

右键第一个edit Control属性。设置ID为 IDC_SUMMAND_EDIT。

按照同样的方法设置第二个static text属性Caption为 加数:,第二个edit Control的ID为IDC_ADDEND_EDIT。

第三个static text属性Caption为 和:,第三个edit Control的ID为IDC_SUM_EDIT。

将确认Caption改为计算,ID改为IDC_ADD_BUTTON。将取消按钮改为退出。


至此,界面就已经设计完毕了,可以点击调试或执行,看看运行结果。



开始逻辑实现。

右键第一个edit Control(即ID为IDC_SUMMAND_EDIT的编辑框),点击添加类变量,最右边选择类别为Value,最左边选择变量类型为double,设置变量名为m_summand,

m开头表示是成员变量(member)。像下面这样:



同样的方法给第二个编辑框添加变量m_addend,给第三个编辑框添加变量m_sum。

假设我这里点错了,添加了一个错误的成员变量m_error怎么办呢?要删除得去三个地方:

1.AdditionDlg.h的最下边,变量定义删掉。


2和3都在AdditionDlg.cpp里,一个是变量初始化,一个是变量与编辑框的联系(可以看到下图中m_error,前边有IDC_ADDEND_EDIT,这是什么?不就是我们

前不久定义的第二个编辑框的ID么)


把这三处都删掉,就可以重新添加变量了。


变量也都定义好了,这下真的真的真的要开始逻辑实现了。

当然加法的逻辑实现很简单,你给我一个a和一个b,我还你一个(a+b),可问题是a和b你怎么给我呢?毫无疑问肯定是从刚刚定义的三个编辑框里得到。

但是你输入之后只是在编辑框里, 并没有送到我刚刚定义的三个变量里。不过,无须担心,MFC提供了接口,可以使对话框中的字符串和变量相互转化,这里就可以解释

上图中m_error和IDC_ADDEND_EDIT的联系了,DoDataExchange就是做的两个内容互相转化的。

至于怎么调用,看下面我们的逻辑代码。

双击计算按钮,编译器自动为button添加了click事件方法,只要点击此button就会触发我们定义的事件,那对我们来说事件是什么呢?对了,就是计算加发。


此中,我们使用了两次UpdateData()函数,大家应该也能隐约猜到这个函数的功能,就是实现控件中显示的内容和相对应的变量进行数据变化,

刚刚也提到这个功能了,那里牵扯到一个函数DoDataExchange()。UpdateData函数就是调用了这个数据交换机制。

UpdateData函数原型如下:

BOOL UpdateData(BOOL bSaveAndValidate = 1)

参数是一个布尔类型,表示数据交换方向:true表示将控件数据内容保存到相应变量,false表示将变量保存到相应控件。可以看到默认值是1,即true。


至此,我们的简易加法计算器就做好了,大家可以运行看看结果如何。



逻辑很简单,只是实现了一个加法功能,大家感兴趣的还可以修改下计算按钮对应的事件方法函数中,修改逻辑,实现更多的功能。

这个小程序只是个起步,以后的路还很长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值