ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:987.17KB ,
资源ID:15840847      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15840847.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VS下计算器的MFC编程实现Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VS下计算器的MFC编程实现Word文档格式.docx

1、点击右侧的工具栏按钮(以下是控件)我们在原先清空的界面中依次用上图控件画出一个基本的计算器页面(如下图)。当然作为“所见即所得”的MFC控件设计,干净整齐的界面是基本要求,甚至会影响用户的心情。3修改空间ID和Caption上图各控件类型如下:Group Box:选择其中一个GroupBox,右键单击,选择属性。在右边显示属性对话框。每个控件“属性”都有属于它自己的ID,默认的Group Box的ID为IDC_STATIC,而且Cap当然我们为了“顾名思义”,对控件ID进行修改成我们容易辨认的(也可以不改),添加完控件并修改ID。4个Group Box的ID分别修改为IDC_STATIC_FR

2、AME ,IDC_STATIC_IN, IDC_STATIC_RESULT, IDC_STATIC_BUTTON控件Edit Control和Button也按相同的办法处理。ID设置完成可以在“Resourse.h”中查看。完成修改ID后,就需给控件添加消息响应了。在属性对话框的上方点击闪电“”图标,添加控件事件。如对于按钮“”,点击“” 点击下拉键头,添加控件事件,页面自动切换到代码的编辑页面,如“添加OnBnClickedButton5”MFC默认下了的响应信息都为On_开头。到此为止 我们基本上完成了计算器页面的前半部分预备工作,接下来是我们的对控件具体实现代码的添加这里我把添加的控件消

3、息响应函数列出来。点击左侧栏的“类试图”(或者选择菜单项“视图(V)”“类试图”)4添加成员变量在开始第二步之前有一项工作时必须要做的,那便是添加3个成员变量和一个CEdit类的变量具体添加方法:右键“类视图”中的类“CMyDlg”,选择“添加变量”。也可以是在菜单栏中选择“项目”“添加变量”。在添加变量向导(如下图)中勾选“控件变量”,“控件ID”选择“IDC_EDIT1”,“类别”选择“Value”,“变量类型”选择“double”,变量名“m_num1”,点击“完成”,添加成功。然后依次为另外两个编辑框添加变量“m_num2”“m_num3”。这里我们把3个编辑框控件内的变量都改变为do

4、uble型的(因为进行四则运算难免出现小数点)。之后再在控件IDC_EDIT3中“类别”选择“ Control”类型 此时变量自动改为了 CEdit类,这步的意思是说 我们把编辑框控件3的设置为CEdit类 并且设置一个成员对象是m_CResult。STEP2:控件消息响应函数具体代码添加部分1四则运算符首先从加法开始void CCalculatorDlg:OnBnClickedButton11Add() / TODO: 在此添加控件通知处理程序代码 UpdateData();/刷新数据 double n_result; n_result = m_num1 + m_num2; m_result

5、 = n_result;/加法的计算过程 char sz20; sprintf(sz,%f,m_result); m_CResult.SetWindowTextA(sz);/打印输出UpdateData() 是MFC的窗口函数,用来刷新数据的由于我们进行基本运算需要更新数据 所以必须添加这个函数。(可以认为是必须的)n_result = m_num1 + m_num2;m_result = n_result;char sz20;sprintf(sz,以上代码是进行 加法的基本语句,然后数组保存并格式化打印输出。m_CResult.SetWindowText(sz);此句是把结果输出在之前用CE

6、dit类创建的对象m_CResult,m_CResult调用SetWindowTextA(sz);把结果显示在编辑框中。剩下的减法 乘法 和除法 也是大同小异(只是把 符号小改一下便可)这里贴出所有加减乘除的代码OnBnClickedButton12Min() n_result = m_num1 - m_num2;/减法的计算过程OnBnClickedButton13Mul() n_result = m_num1 * m_num2;/乘法的计算过程OnBnClickedButton14Div() n_result = m_num1 / m_num2;/除法的计算过程2焦点事件 这里我特地说明一

7、下 由于我们预设了2个编辑框所想实现的功能是,如在编辑框1内输入一个输入30,然后再编辑框2内输入另一个数字20,然后点击“+”、“-”、“*”、“/”中任何一个按钮,输出结果。那么存在一个问题。就是,如何用判断用户是在哪个编辑框上输入了数字,所以我们需要给程序加入一个功能,判断用户是在编辑框1输入,还是编辑框2内输入。在日常我们用电脑的过程中,一般都是用鼠标去点击编辑框来进行一系列操作。那么我可以加入一个鼠标左键点击WM_LBUTTONDOWN消息和一个 EN_SETFOCUS事件来响应这个鼠标消息。 EN_SETFOCUS为判断焦点事件(通俗点说,那便是判断光标在什么地方)。添加WM_LB

8、UTTONDOWN消息在“类试图”中右键选择类“CCalculatorDlg”,打开“属性”对话框,点击“消息选择“WM_LBUTTONDOWN”,点击下拉箭头,点击“ OnLButtonDown”。添加EN_SETFOCUS事件右键“编辑框1”,打开“属性”对话框,点击“控件事件”,选择“EN_SETFOCUS”(这里程序默认的响应函数是OnEnSetfocusEdit1(),点击添加。依次类推我们也给编辑框2添加事件响应函数OnEnSetfocusEdit2(),方法同上这样一来,一切逻辑都理顺了。我们用户用鼠标选择并点击编辑框的时候,我们用WM_LBUTTONDOWN消息去响应,然后与此

9、同此,我们把响应的和EN_SETFOCUS联系起来,我们预设一个全局变量nEditFlag ,作为在EN_SETFOCUS函数里的一个 标记。并在鼠标点下的时候用nEditFlag 去表示编辑框目前被选定的状态,nEditFlag =1 的时候我们就判断用户选择了编辑框1 ,再者当nEditFlag =2的时候说明编辑框2被选定。设置好之后,我们还要做一些初始化工作,在程序运行之初,我们先初始化nEditFlag = 0;在CalculatorDlg.cpp文件中OnInitDialog()内进行初始化:我们只需在OnInitDialog()函数中 加入一句nEditFlag = 0;如下所示

10、:之后我们再为两个事件响应函数进行OnsetfocusEdit1()和OnsetfocusEdit2()添加代码当用户选定编辑框1的时候,nEditFlag = 1;当用户选定编辑框2的时候,nEditFlag = 2;而鼠标消息WM_LBUTTONDOWN具体代码如下“STEP3:按键09的响应部分这里由于代码都大同小异,所以就用数字按钮1,2来进行简要说明。剩下了39代码以上大同小异。可能遇到的问题:问题一:1、重启VC。2、打开Resource.h文件看看 一看就知道了 有些定义重复了 可以手动改掉 保存 编辑器重新加载 。3、关闭解决方案,删除ncb文件重新添加即可。4、实在不行就手动

11、添加消息处理。5、查看.h和.cpp文件的属性,有可能是只读的,修改属性后就可以了。6、把你要添加事件的对话框相应的类文件(*.h和*.cpp)给关了就可以了。问题2:VS2008中MFC界面编程Caption中文全是乱码解决方法:首先到“资源视图”Resource View中找到对话框的ID号,对其右击选择“属性”Properties,然后在右边的属性栏中找到“语言”Language项,默认是英语(美国),改成中文(中国),OK,问题解决。问题3:m_CResult.SetWindowTextW(sz);参数1不能从“const char20”转换为“LPCTSTR”类型解决方案:选择菜单栏“项目”-“Calculator属性”,选择“配置属性”- “常规”-“字符集”,选择“使用多字节字符集”。编程过程中如果反复添加删除同名变量,函数可能会造成一些其他问题,但是通过报错信息可以自己改正

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1