- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
制作计算器
本文采用动态创建控件的方法,使用 vs2005 MFC,仿照windows自带的计算器进行制作。
通过这个程序可以使你了解:1?如何使用文本框、按钮2?如何通过控件的ID获取控件指针3?得到控件指针后可以对控件做些什么4?字符串如何处理(拼接、查找、转换等)5?如何给控件绑定响应事件6?如何重载原有的函数7?其他自己体会
界面分析:不要上面的菜单栏,也不要第一排的按钮,这些按钮都不要,只要一个文本框和下面右图中的按钮,布局方式也按照这个图布局。仔细数一数,共有23个按钮和一个编辑框。
功能分析:
用一下windows的计算器,可以发现:
初始状态为0
如果按下数字键,这个0就会变成相应的数字,如果按下小数点,就会变为“0.”
除数不能为0
连续按下多个运算符,以最后一个计算符为准
每次按下运算符都会把之前的结果先经行计算,例如:你已经输入了 1+ 1 此时再按下 “+”,就会先把1+1进行计算,保存结果2.
这个计算器分两行显示,上面一行显示算式,下面显示结果.
当你输入一个数字和一个运算符就按下“=”时,第二个数默认和第一个相同,例如:“3*”按下“=”,显示“9”
开平方不能是负数
其它异常暂不处理
新建项目
这里我给项目命名为:Calculator
应用程序的类型选择 基于对话框,点击完成
完成之后,先来观察一下项目中都有哪些东西:资源视图(下面右图)是我们的界面,解决方案中的是我们的源文件(下面左图)。我们的代码主要写在和中,.h文件中主要定义一些东西,.cpp文件中写具体的东西。
准备知识
初始界面
打开界面,可以看到,上面已经给我们放上去了两个按钮—确定和取消。由于我们建立的是对话框应用程序,这两个按钮的功能就是接受Enter键和ESC键的响应。先不要删除它,不然会造成不必要的麻烦:例如如果你删除了这两个按钮,当你在界面上按下回车时,程序找不到响应的控件,就会导致异常。
添加编辑框
在工具箱中找到编辑框控件,把它拖放到界面合适的位置,并在属性栏中把它的ID改为TEXTC,便于记忆,,这个编辑框的作用就是显示数字。
有的资料会给这个编辑框关联一个值,用于处理编辑框中内容,在这里,我们就不给他关联值,要想给编辑框显示一个值或者是获取文本框中的值,通过代码去实现。包括后面按钮的处理,我们都尽量通过代码去实现它的功能。
至此,一行代码还没有写,先运行一下看看(如下图),如果你在文本框中按下回车键或者ESC键,就会发现程序会直接退出。这是因为“确定”按钮响应回车事件,“取消”按钮响应ESC键,如果不想退出,可以重载这两个按钮的响应事件,也可以屏蔽键盘的输入,这里暂不处理。(换句话说,如果不建立对话框应用程序,不就可以了吗?没办法暂时先学一学这个吧),如果觉着两个按钮很碍眼,可以把他们隐藏掉:把这两个按钮的Visible属性改为false即可。
设置编辑框可以换行,有三个属性要更改;
Auto HScroll 设置为 False
MultiLine ?设置为 True
Want Return 设置为 True
CEdit* pEdit = (CEdit*)GetDlgItem(TEXTC);
//断言,判断是不是pEdit(类似if语句)
ASSERT(pEdit pEdit-GetSafeHwnd());
//pEdit-SetSel(-1); //追加模式
pEdit-ReplaceSel(_T(第一行\r\n第二行));
或者
SetDlgItemText(TEXTC,_T(A\r\nB));
\r\n就是换行符
GetDlgItem 这个方法很有用,要注意!读/写编辑框中内容
编辑框已经添加上去,那么怎样使用这个编辑框呢?主要就是怎样获取它里面的内容或者让它显示指定的内容。主要使用到两个函数:
读取控件中的内容:
写入控件内容:
nID:控件的ID,也可以使控件的名字
rString:保存到的字符串(即:将控件上的文本获取到rString中)
lpszString:要显示出来的字符串。需要注意的是这个参数是LPCTSTR类型,不是CString类型,在使用的过程中要进行转换:(LPCTSTR)str
怎样在编辑框后面追加内容,不删除之前的内容呢?后面会讲到。
在界面上添加按钮
定义
你可以一个一个按钮拖放上去,但这里我使用的是通过代码进行创建。
根据开始时候的分析,共需要23个按钮,于是我们需要定义一个长度为23的按钮数组,为了便于更改,这里定义一个常量NUM,表示23. 如下:
public: static const int NUM = 23;
public: CButton *p_Butto
您可能关注的文档
- WINCC脚本实例技巧.doc
- C语言项目设计习题技巧.doc
- 第三章--近代中国农业发展概况技巧.doc
- C语言实验-完成技巧.doc
- WINCC.V7.3安装技巧.doc
- C语言设计最重要的期末考试知识点技巧.doc
- C语言设计——字符串处理技巧.doc
- win8预装系统下安装双系统技巧.doc
- C语言设计找出鞍点;进制转换;楼盘信息管理的设计技巧.doc
- 第三章几何画板技巧.doc
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
最近下载
- GB_T_13861-2022生产过程危险和有害因素分类与代码.pdf VIP
- 2024年教学能力比赛现场答辩题库(必威体育精装版编制).docx
- 3月1日国际民防日知识介绍主题班会.pptx VIP
- 人教新课标六年级上册数学第6单元《百分数一》测试卷.doc VIP
- 记念刘和珍君鲁迅记念刘和珍君聆听鲁迅的声音徘徊páihuái课件.pptx VIP
- 施工现场安全教育培训课件(课件35张).ppt VIP
- 中小尺度气象学5章.ppt
- 高铁乘务人员形象塑造项目5搭配合适的发型.pptx VIP
- 化工原理课程设计乙醇—水板式精馏塔设计.doc
- 中国国家标准 GB/T 1040.2-2022塑料 拉伸性能的测定 第2部分:模塑和挤塑塑料的试验条件.pdf
文档评论(0)