文档库 最新最全的文档下载
当前位置:文档库 › MFC入门教程之简易计算器制作

MFC入门教程之简易计算器制作

MFC入门教程之简易计算器制作
MFC入门教程之简易计算器制作

MFC入门之简易计算器制作

最近自学MFC,入门的时候走了不少弯路,所以特做此教程,希望能帮助一些人能够快速入门,少走一些弯路。这个教程就是通过一个简易计算器的制作让大家了解MFC界面编程的基本步骤和几个常用控件的使用方法。

使用软件Visual C++ 6.0.

首先,新建一个MFC基于对话框的工程。

点击文件-新建,在工程选项卡里选择MFC AppWizard[exe],给工程命名Jisuan。点击确定。

在接下来的向导里选择基于对话框,其他选项使用默认即可,之间点击完成。

先给大家介绍一下Visual C++ 6.0的界面。

左边框起来的是文件资源控制区,默认有三个选项卡,分别是ClassView、ResourceView和FileView。分别用来显示类、资源和文件。

中间这个主要操作区呢,就是我们用来设计界面和编程的窗口了。现在这个

是IDD_JISUAN_DIALOG资源,如图所示。

右边那个是控件工具箱,如果没有显示的话可以右击菜单栏空白区域,把控件前打上对号即可。

然后给大家介绍一下今天需要用到的控件。

如左图所示,今天主要需要用到四个控件。

第一个是静态文本控件,就是可以往对话框上放一些静态的文字。

第二个是编辑框,它是可以往里面输入文字的。

第三个是组合框,它是把用来给对话框分区,使界面更加美观明了。

第四个是按钮控件,是用来点一下产生某个操作的。上面那个是编辑框,下面这个是按钮控件。

点一下控件,拖到对话框上,即可使用。

下面我们可以这样布局:

上面两个编辑框里输入数字,中间四个按钮分别是+ - * /,然后下面编辑框里显示数字。

下面开始给大家介绍第一个最重要的操作,就是属性操作。我们想让这些控件的显示文字改变,就需要修改它的属性。

选定某个控件,右击,选择属性,即可来改变它们的属性了。我们挨个控件介绍。

首先是组合框。

组合框的属性,我们看到有一个ID,一个标题。首先说明一点,每个控件都必须有一个ID值,而且一般每个控件的ID值不能相同。这里说一般,当然就有特殊,组合框就是一个,因为它就是用来显示用的,一般不涉及事件操作,所以它的ID都默认为IDC_STATIC,还有接下来要说的静态文本控件,它的ID也是默认为IDC_STATIC。

组合框我们常需要改的就是标题了,我们把它改为“操作数”。我们会看到,对话框中组合框的标题也就随着改变了。

同理,我们可以给下面两个组合框分别命名为“操作命令”和“结果”。最终如图:

下面我们对应的来讲静态文本控件。打开它的属性。

我们发现他的属性和组合框基本上是一样的。我们同样的只需要修改它的标题即可,分别命名为“第一个数”“第二个数”“结果”,最终如图:

下面我们介绍编辑框。打开编辑框属性页面。

我们发现它没有标题项,只有ID,ID默认名称为IDC_EDIT1、IDC_EDIT2、IDC_EDIT3……最好我们把它们改为我们好记的名称,比如改为“IDC_FIRNUM”“IDC_SECNUM”“IDC_RESULT”,这样便于以后使用,修改程序也方便。

另外,我们可以把样式选项里排列文本改为靠右,更加符合我们习惯。

下面两个分别修改即可。最终如图:

最后是按钮控件,打开它的属性。

我们看到它的属性通常需要操作的也是ID和标题。我们把四个按钮的ID分别改为“IDC_JIA”“IDC_JIAN”“IDC_CHENG”“IDC_CHU”。标题分别改为+ - * /。最终如图:

首先我们先编译、运行一下。

我们发现,运行的结果跟我们想要的是一样的,下面需要的操作,也是最重要的,就是如何给控件绑定变量,然后按下按钮进行某些操作。即类向导的使用。

首先我们先给三个编辑框绑定三个float型的变量。

右键第一个编辑框,选择建立类向导。或者直接从菜单栏查看-建立类向导进。我们可以看到这样的页面

我们打开第二个选项卡Member Variables,成员变量。为IDC_FIRNUM 增加一个变量,点Add Variable…,我们为它增加一个float型的变量,命名为m_Firnum

然后分别给第二个编辑框增加float变量m_Secnum,第三个编辑框增加float 变量m_Result。如图

点击确定。这样就完成了变量与编辑框控件的绑定。

下面我们进行对按钮控件的事件响应函数的添加。同样的,右键,建立类向导。

这次我们使用的是第一个选项卡Message Maps。从IDs中选择IDC_JIA,即加这个按钮,从Messages中选择BN_CLICKED,即当被单击的时候,然后点Add Function…为其添加函数。

然后弹出对话框,为函数命名,选择默认即可,点击OK。

然后我们看到在最下方的Member functions中,增加了一个函数OnJia,选中,点击Edit Code,编辑代码。

然后我们会看到出来这样一个函数:void CJisuanDlg::OnJia()

然后里面提示你填入代码。

现在我们只需要给按一下+ 这个按钮产生的响应添加代码即可。那产生什么

响应呢??

肯定是首先获取前两个操作数,把两个操作数加起来,然后值给第三个操作数,然后显示。

这里有一个UpdateData(Bool)函数。

UpdateData(TRUE)

——刷新控件的值到对应的变量。(外部输入值交给内部变量) UpdateData(FALSE)

——拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)

然后代码就可以这么写:

然后编译、运行:

输入操作数:1.3 2.4

然后点击+按钮

结果编辑框中出来数据3.7。说明我们的程序是正确的。

同理,我们可以为剩下的三个按钮添加响应函数。这些操作就留给读者自己去完成了。

后记:用了一上午的时间终于把这个教程敲完,希望能帮助大家。

——小李

相关文档