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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

控件使用计算器设计.docx

1、控件使用计算器设计 本章主要介绍下面几种常用控件。(1) 编辑框(Edit Box)编辑框也叫做文本框,是一个让用户从键盘输入和编辑文字的矩形窗口,应用程序可以从编辑框中获得用户所输入的内容。(2) 静态文本框(Static Text)静态文本框用来在对话框窗口中标注其他控件。之所以称其为“静态”文本框,是因为它一般不发出或响应消息,也不参与用户交互,主要起标注作用。 (3) 命令按钮(Button)命令按钮可以触发某个命令的执行。要注意的是,这种按钮不会被锁定,响应过后会自动弹起,恢复原状。(4) 列表框(List Box)列表框是一个放有若干个备选项目(Item)的控制窗口,用户可以从中选

2、择一项或多 项。列表框的尺寸不足以显示全部项目时会自动附加一个纵向滚动条。(5) 单选按钮(Radio Button) 单选按钮的外观是一个圆圈,被单击选中后圆圈中会标上一个黑点。在一组单选按钮中用户只能而且必须选择其中的一个,其余的单选按钮会自动落选。也就是说,一组单选按钮是互斥的,但总有一个处于选中状态。(6) 复选框 (Check Box) 复选框的外观是一个空心方框,将其选中后方框中会标上一个“”(在Windows 3.x时代则标记为“”),在一组复选框中,用户可以选择一个或多个,也可以一个都不选。就是说,一组复选框相互之间是相容的。复选框通常与一个布尔量(逻辑量)相联系,用来表示是不

3、是某种事物,或有没有某种性质,或在不在某种状态等。(7) 群组框(Group Box) 群组框常用于封装一组单选按钮,或集中布置一组复选框。与静态文本框一样,群组框也不会发出或响应消息。常用控件的外观如图 所示。常用的控件 使用控件设计计算器下面从不同的角度来设计风格各异的计算器,以了解如何使用控件。典型实例用编辑框、静态文本框及按钮设计计算器首先用编辑框、静态文本框及按钮来设计一个具有【加】、【减】、【乘】、【除】功能的计算器,如图 所示,以此掌握这几个控件的使用。 具有【加】、【减】、【乘】、【除】功能的计算器 典型实例 用编辑框、静态文本框及按钮设计计算器1利用APPWizard建立对话

4、框工程“D:EXAMPLEEX_Calculator01”。(1) 选择菜单栏的【File】/【New】命令,将弹出一个如图 所示的对话框。在该对话框中选择【Project】选项卡,在左面的列表框中选中 “MFC APPWizardexe,接下来在对话框中输入工程名及其路径如下:【Project Name】:EX_Calculator01【Location】:D:EXAMPLE在【Project Name】编辑框中输入的是工程的名字。应尽量按照C+的标识符规则来命名,即只使用字母、数字和下划线“_”, 且不以数字开头。本例我们要建立的工程名字为“EX_Calculator01”。在【Locat

5、ion】编辑框中输入的是所要建立的工程的存放位置(也可以单击它右侧的按钮选择所要建立的工程的存放位置)。本例我们把工程“EX_Calculator01”存放在“D:EXAMPLE”文件夹中。(2) 单击 OK 按钮。 创建应用程序框架(3) 在接下来的【MFC APPWizard-Step1】窗口中选择将要建立的工程类型,如图所示。通过MFC APPWizard可以建立如下3种类型的工程。【Single document】:单文档工程。【Multiple documents】:多文档工程。【Dialog based】:对话框工程。我们要建立的是对话框工程,在此处选择【Dialog based】

6、。(4) 单击 Next 按钮。 选择工程类型(5) 在接下来的【MFC APPWizard-Step2】、【MFC APPWizard-Step3】以及【MFC APPWizard-Step4】窗口中均接受默认设置。(6) 在【MFC APPWizard-Step4】窗口中单击 Finish 按钮,应用程序基本框架创 建完毕(因为在【MFC APPWizard-Step2】、【MFC APPWizard-Step3】以及【MFC APPWizard-Step4】窗口中使用默认设置,所以也可以在【MFC APPWizard-Step1】窗口中选择工程类型后直接单击 Finish 按钮)。(7)

7、 程序框架创建完毕后出现如图2-5所示的【New Project Information窗口,显示MFC APPWizard为工程“EX_Calculator01”建立的类等信息,单击 OK 按钮接受图2-5中的信息。 新工程信息 (8) 最后,会出现如图所示的待编辑的处对话框窗口。 待编辑的对话框窗口提示:因为我们是利用MFC应用程序向导建立应用程序框架,所以在创建新工程时,一定要确保选中【MFC APPWizardexe】。2设计计算器窗口(界面)。在如图所示窗口中,按如图所示设计计算器对话框,具体作法遵循下面的步骤。(1) 在控件(Control)工具栏中选择编辑框控件、把鼠标移动到计算

8、器窗口的适当位置,按下鼠标左键拖曳鼠标,画出一个大小合适的编辑框。(2) 右键单击编辑框,在如图所示的快捷菜单中选择【Properties】命令。 选择【Properties】命令(3) 在随后出现的【Edit Properties】对话框中设置刚刚建立的编辑框的ID属性, 如图 所示。 设置编辑框属性本实例我们接受默认的ID属性“IDC_EDITl”。(4) 关闭属性对话框。(5) 按照同样的方法建立【输入数据2】编辑框和【计算结果】编辑框。(6) 设置各个编辑框的名字。 选择控件工具栏中的静态文本框控件,移动鼠标到编辑框的上部,按下左 键拖曳鼠标画出一个大小合适的静态文本框,右键单击该文本

9、框,在弹出的快捷菜单中选择【Properties】命令,弹出如图 所示的【Text Properties】对话框,在该对话框的【标题】栏中键入编辑框的名字“输入数据1”。图2-9 设定编辑框名字(7) 添加“加”按钮。在控件工具栏中选择控件,然后在计算器窗口的下部按下左键拖曳鼠标画 出一个大小合适的按钮,右键单击该按钮,在弹出的快捷菜单中选择【Properties】命令,弹出如图 所示的【Push Button Properties】对话框,在该对话框的【ID】栏中输入按钮的ID属性。为了以后在编程时便于记忆,我们不用默认值,将“加按钮的D属性设置为“IDC_ADD_BUTTON”,按钮名为“

10、加”。图2-10 设置“加”按钮属性(8) 按照同样的方法在计算器窗口中添加“减”、“乘”、“除”按钮,3个按钮的ID属性分别为“IDC_MINUS_BUTTON”、“IDC_TIMES_BUTTON”和“IDC_DIVIDE_BUTTON”。(9) 删除计算器窗口中的“TODO”行、保留窗口中的按钮和按钮,这是对话框所推荐的两个控件。按钮用于关闭对话框并接受对话框中出现的所有信息;按钮用于关闭对话框并忽略对话框打开后对数据或选项所做的任何改变。对于这两个按钮,无需进行任何处理,MFC基本类库会自动处理这两个控件。3添加变量。如果我们要在程序中访问对话框中的控件,就必须给这些控件分别添加变量。

11、所谓添加变量,就是给程序中要用到的控件对象定义一个与之关联的变量作为控件的代理。以后用到该控件对象时,访问其代理变量即可。就是说,一个变最代表一个具体的控件对象。例如,要获得用户在编辑框中输入的内容,就得给编辑框添加变量,通过调用该变量的相关函数即可获得编辑框的输入内容。下面为【输入数据1】编辑框添加变量。(1) 右键单击【输入数据1】编辑框,在如图 所示的快捷菜单中选择【ClassWizard】命令,弹出【MFC ClassWizard】对话框,在该对话框的顶部选择【Member Variables】(成员变量)选项卡,如图 所示。【MFC ClassWizard】对话框(2) 接下来,在该

12、对话框中做如下设置:【Class name】:CEX_Calculator01Dlg【Control IDs】:lDC_EDIT1(3) 单击按钮,弹出如图 所示的【Add Member Variable】对话 框。在该对话框中设置如下变量的名字、类别及类型。【Member variable name:】:m_Edit1【Category:】:Control(控件)【Variable Type:】:CEdit 添加变量对话框(4) 单击按钮。(5) 按照同样的方法给【输入数据2】编辑框添加变量“m_Edit2”,变量类别为“Control”, 变量类型为“Cedit”;给【计算结果】编辑框添加

13、变量“m_Edit3”,但是“m_Edit3”的变量类别为“Value”、 变量类型为“Cstring”。4添加函数及代码。(1) 右键单击“加”按钮,在弹出的快捷菜单中选择【ClassWizard】命令,在 【MFC ClassWizard】对话框中选择【Member Maps】选项卡,在如图 所示的对话框中做如下设置:【Class name】:CEx_calculator01Dlg【Control IDs】:IDC_ADD_BUTTON【Messages】:BN_CLICKED 添加函数(2) 单击按钮,为“加”按钮添加单击事件的处理函数,在如图 所示的【Add Member Functi

14、on】对话框中接受默认的函数名字“OnAddButton”。(3) 在如图 所示对话框中单击按钮。,返回如图 所示对话框。 输入函数名字(4) 添加代码。在如图 所示对话框中单击按钮,在OnAddButton() 函数中为“加按钮处理函数加入下面阴影部分的代码(在本书后面的例子中,凡是带底纹部分的代码,都是程序设计者添加的)。void CEX_Calculator01Dlg:OnAddButton() / TODO: Add your control notification handler code here/定义两个字符串,用于存放【输入数据1】和【输入数据2】编辑框输入的内容 char

15、cEdit110, cEdit210; double dEdit1, dEdit2, dEdit3; /定义3个双精度变量,用于存放3个编辑框的数据/定义一个字符串,用于存放【计算结果】编辑框要输入的内容 char cResult10; /调用GetWindowText()函数获得【输入数据1】编辑框的输入内容,存放到字符串cEdit1中 m_Edit1.GetWindowText(cEdit1,10); /调用GetWindowText()函数获得【输入数据2】编辑框的输入内容,存放到字符串cEdit2中 m_Edit2.GetWindowText(cEdit2,10); dEdit1=at

16、of(LPCTSTR)cEdit1); /将字符串1转化为数值 dEdit2=atof(LPCTSTR)cEdit2); /将字符串2转化为数值 dEdit3=dEdit1+dEdit2; /计算输入的两个数之和 _gcvt(dEdit3,10,cResult); /把计算结果转化为字符串,存放到cResult中 m_Edit3=(LPCTSTR) cResult; /把结果字符串赋给对象m_Edit3 UpdateData(FALSE); /更新屏幕对OnAddButton()中用到的函数和数据类型说明如下。(a) GetWindowText()该函数是编辑框类CEdit的成员函数,是一个很

17、有用的函数,用来获得编辑框输入的内容,并把内容存放到一个字符串变量中。其原型如下: int GetWindowText(LPTSTR lpszStringBuf, int nMaxCount)两个参数的含义如下:第一个参数lpszStringBuf为字符串缓冲区,接受编辑框内容。第二个参数nMaxCount为从编辑框接受的字符串长度。(b) atof()该函数将数字字符串转化为浮点型数值。原型如下:double atof(const char *)参数为要转换的数字字符串。(c) _gcvt()该函数跟atof正好相反,用来把数值转化为数字字符串。原型如下: char *_gcvt(doubl

18、e, int, char*)参数的意义如下:第一个参数为被转换数据。第二个参数为数字字符串长度。第三个参数为转换后的数字字符串。(d) UpdateData()该函数的作用与其参数的值有关:参数值为false时,更新窗口,用控件变量的值更新控件内容。参数值为true时,将控件内容映射到对应变量中。OnAddButton()还用到一个类型:LPCTSTR。LPCTSTR是MFC定义的字符串指针类型,此处用于类型转换,以获得一个指向字符串的指针。(5) 按照同样的方法为“减”按钮添加处理函数OnMinusButton()。代码如下:void CEX_Calculator01Dlg:OnMinusB

19、utton() / TODO: Add your control notification handler code here/定义两个字符串,用于存放【输入数据1】和【输入数据2】编辑框输入的内容 char cEdit110, cEdit210; double dEdit1, dEdit2, dEdit3; /定义3个双精度变量,用于存放3个编辑框的数据/定义一个字符串,用于存放【计算结果】编辑框要输入的内容 char cResult10; /调用GetWindowText()函数获得【输入数据1】编辑框的输入内容,存放到字符串cEdit1中 m_Edit1.GetWindowText(cE

20、dit1,10); /调用GetWindowText()函数获得【输入数据2】编辑框的输入内容,存放到字符串cEdit2中 m_Edit2.GetWindowText(cEdit2,10); dEdit1=atof(LPCTSTR)cEdit1); /将字符串1转化为数值 dEdit2=atof(LPCTSTR)cEdit2); /将字符串2转化为数值 dEdit3=dEdit1- dEdit2; /计算输入的两个数之差 _gcvt(dEdit3,10,cResult); /把计算结果转化为字符串,存放到cResult中 m_Edit3=(LPCTSTR) cResult; /把结果字符串赋给

21、对象m_Edit3 UpdateData(FALSE); /更新屏幕(6) 同样,为【乘】按钮添加处理函数OnTimesButton()。代码如下: void CEX_Calculator01Dlg:OnTimesButton() / TODO: Add your control notification handler code here/定义两个字符串,用于存放【输入数据1】和【输入数据2】编辑框输入的内容 char cEdit110, cEdit210; double dEdit1, dEdit2, dEdit3; /定义3个双精度变量,用于存放3个编辑框的数据/定义一个字符串,用于存放

22、【计算结果】编辑框要输入的内容 char cResult10; /调用GetWindowText()函数获得【输入数据1】编辑框的输入内容,存放到字符串cEdit1中 m_Edit1.GetWindowText(cEdit1,10); /调用GetWindowText()函数获得【输入数据2】编辑框的输入内容,存放到字符串cEdit2中 m_Edit2.GetWindowText(cEdit2,10); dEdit1=atof(LPCTSTR)cEdit1); /将字符串1转化为数值 dEdit2=atof(LPCTSTR)cEdit2); /将字符串2转化为数值 dEdit3=dEdit1*

23、 dEdit2; /计算输入的两个数之积 _gcvt(dEdit3,10,cResult); /把计算结果转化为字符串,存放到cResult中 m_Edit3=(LPCTSTR) cResult; /把结果字符串赋给对象m_Edit3 UpdateData(FALSE); /更新屏幕(7) 同样,为【除】按钮添加处理函数OnDivideButton()。代码如下:void CEX_Calculator01Dlg:OnDivideButton() / TODO: Add your control notification handler code here/定义两个字符串,用于存放【输入数据1】

24、和【输入数据2】编辑框输入的内容 char cEdit110, cEdit210; double dEdit1, dEdit2, dEdit3; /定义3个双精度变量,用于存放3个编辑框的数据/定义一个字符串,用于存放【计算结果】编辑框要输入的内容 char cResult10; /调用GetWindowText()函数获得【输入数据1】编辑框的输入内容,存放到字符串cEdit1中 m_Edit1.GetWindowText(cEdit1,10); /调用GetWindowText()函数获得【输入数据2】编辑框的输入内容,存放到字符串cEdit2中 m_Edit2.GetWindowText

25、(cEdit2,10); dEdit1=atof(LPCTSTR)cEdit1); /将字符串1转化为数值 dEdit2=atof(LPCTSTR)cEdit2); /将字符串2转化为数值 dEdit3=dEdit1/dEdit2; /计算输入的两个数之商 _gcvt(dEdit3,10,cResult); /把计算结果转化为字符串,存放到cResult中 m_Edit3=(LPCTSTR) cResult; /把结果字符串赋给对象m_Edit3 UpdateData(FALSE); /更新屏幕其实,这3个函数都可以照搬OnAddButton()的函数体,不同的只是加阴影的那一行。5保存完成的工程。6选择菜单栏中的【Build/【Build EX_Calculator01.exe】命令编译工程,也可以单击编辑窗口上方Build工具栏中的按钮或者按键盘上的F7键编译工程,如果编译成功, 即可选择菜单栏中的【Build】/【Execute EX_Calculator01.exe】命令运行程序,也可以单击编辑窗口上方Build工具栏中的按钮或者按键盘上的Ctrl+F5运行程序。

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

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