手把手教你mfc编程计算器.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STEP 1(页面设计部分与控件添加部分)??? 首先打开VC,选择MFC AppWizard[exe],设定好路径和工程名(这里我设置工程名为为“My”)。这里要注意的是在创建向导步骤1的时候,我们选择“基本对话框”。? 之后我们可以点击完成便看到以下界面 此时我们把当前页面上原配的控件按Delete全部清除(如下图)? 接着我们按照MFC自带的控件选项进行我们本次计算器的控件添加(以下是控件) 我们在原先清空的界面中依次用上图控件画出一个基本的计算器页面(如下图)。当然作为“所见即所得”的MFC控件设计,干净整齐的界面是基本要求,甚至会影响用户的心情。 上图我们用按钮控件添加一共15个按钮,分别是数字“ 0 ~ 9” 以及 “+ - * /”。每个控件“属性”都有属于它自己的ID,默认的按钮按键为IDC_BUTTON0,而且Cap当然我们为了“顾名思义”,对控件ID进行修改成我们容易辨认的(也可以不改),添加完控件并修改ID之后。(如下图)这里我们把数字按钮0 设置ID为IDC_BUTTON14_NUM0,其他的依次类推 ?? 完成修改ID后,就需给控件添加消息响应了,基本操作可以是直接双击控件,便会有向导提示。MFC默认下了的响应信息都为On_开头,而且以下显示的是数字5的消息响应.之后所有的依次类推,这步骤一般不对成员函数名称做任何修改,直接点击OK即可 ? 之后就会跳转到具体的代码实现过程 这里我们依次给每一个控件添加消息响应函数(以下仅列出一部分) 到此为止 我们基本上完成了计算器页面的前半部分预备工作,下来是我们的对控件具体实现代码的添加? 这里我把添加的控件消息响应函数列出来 这里忘记了,提醒一点编辑框控件的ID是IDC_EDIT1 IDC_EDIT2 IDC_EDIT3 ? 还有 加减乘除的控件添加当初没有进行名字的设置默认为void CMyDlg::OnButton1()//加void CMyDlg::OnButton2()//减void CMyDlg::OnButton3()//乘void CMyDlg::OnButton4()//除//////////////////////////////////////////////////// 在开始第二步之前有一项工作时必须要做的,那便是添加3个成员变量和一个CEdit类的变量 具体添加方法,就是右键主对话框CMyDlg-Add Member Variable也可以是在菜单栏中选择“查看”-“建立类向导”? 这里我们把3个编辑框控件内的变量都改变为double型的(因为进行四则运算难免出现小数点)之后再在控件IDC_EDIT3中选择Add Variable并且数据类型选择 Control类型 此时变量自动改为了 CEdit类这步的意思是说 我们把编辑框控件3的设置为CEdit类 并且设置一个成员对象是m_CResult。 ?? ////////////////////////////////////////////////////////////////////////// STEP 2(控件消息响应函数具体代码添加部分)? 首先从加法开始void CMyDlg::OnButton1() { ?// TODO: Add your control notification handler code here ?UpdateData(); double n_result; n_result = m_num1 + m_num2; m_result = n_result; char sz[20]; sprintf(sz,%f,m_result); m_CResult.SetWindowText(sz); } ?? UpdateData() 是MFC的窗口函数,用来刷新数据的 由于我们进行基本运算需要更新数据 所以必须添加这个函数。(可以认为是必须的)? n_result = m_num1 + m_num2; m_result = n_result; char sz[20]; sprintf(sz,%f,m_result); 以上代码是进行 加法的基本语句,然后数组保存并格式化打印输出。m_CResult.SetWindowText(sz);此句是把结果输出在之前用CEdit类创建的对象m_CResult,m_CResult调用SetWindowText(sz);把结果显示在编辑框中。?? 无独有偶剩下的减法 乘法 和除法 也是大同小异(只是把 符号小改一下便可~~)这里贴出所有加减乘除的代码void CMyDlg::OnButton1() { ?// TODO: Add your control notification handler code here

文档评论(0)

kxiachiq + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档