较复杂的计算器的实现.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
较复杂的计算器的实现

系统的实现 4.1 窗体设计 利用MFC AppWinzard生成计算器应用程序框架具体步骤如下: (1)执行VC程序,选择File|New命令,弹出New对话框.单击Projects标签,转到Projects选项卡,选择MFC AppWizard(exe)选项,然后在Project name文本框中输入Calculator 。Lacation文本框是指项目的本地路径。 (2)单击OK按钮,弹出MFC AppWinzard_Step1对话框。选中单选按钮,如图所示。 (3)单击Next按钮,弹出MFC AppWinzard_Step2 of4对话框,如图所示。 (4)单击Next按钮,弹出MFC AppWinzard_Step3 of4对话框,如图所示。 (5)单击Next按钮,弹出MFC AppWinzard_Step4 of4对话框,如图所示。单击Finish按钮,创建框架。 4.2 编辑资源 (1)编辑对话框及控件资源 利用Visual C++提供的资源编辑器对对话框资源进行编辑。删除对话框中默认的OK和Cancel按钮。添加一个Edit控件,其控件ID为IDC_DSPEDIT。添加若干按钮控件,其ID如表4-1所示。 表4-1 按钮控件资源清单 按钮名称 按钮ID 用途 0 BTN_0 按键0 1 BTN_1 按键1 2 BTN_2 按键2 3 BTN_3 按键3 4 BTN_4 按键4 5 BTN_5 按键5 6 BTN_6 按键6 7 BTN_7 按键7 8 BTN_8 按键8 9 BTN_9 按键9 。 BTN_10 小数点 = BTN_11 求值 + BTN_12 加号 - BTN_13 减号 * BTN_14 乘号 / BTN_15 除号 CE BTN_16 清屏 Sqrt BTN_17 开方 1/x BTN_18 倒数 sin BTN_19 正弦 cos BTN_20 余弦 tan BTN_21 正切 x^2 BTN_22 平方 x^3 BTN_23 立方 x^y BTN_24 以X为底的y次幂 exp BTN_25 以e为底的幂 ln BTN_26 以e为底的对数 log BTN_27 对数 -/+ BTN_29 正负号 10^x BTN_30 10的x次方 n! BTN_31 N的阶层 添加2个单选按钮,按钮资源清单如表4-2所示。 表4-2 单选按钮控件资源清单 控件名 设置ID DEGREE BTN_DEGREE RADIAN BTN_RAD 添加4个静态框,将编辑控件,普通计算,高级计算分别分组。其效果如图4.1所示。 图4.1编辑对话框资源 (2)编辑菜单资源 在Visual C++中的Workspace工具栏中,选中ResourceView选项卡。在其中的Menu项上右击,在弹出的快捷菜单中选择Insert命令,如图4.2所示。 图4.2添加菜单资源 将添加的菜单资源的ID更改为IDR_MENU。利用资源编辑器对菜单进行编辑,编辑后的菜单如图4.3所示。 图4.3 编辑菜单资源 4.3 实现高级按钮控件类 利用ClassWizard添加一个新类,如图4.4所示。 图4.4添加CAdvButton类 (1)添加成员变量和成员函数 为实现高级按钮控件对鼠标的移动和单击作出相应的颜色变化。首先在CAdvButton的头文件中加入几种预定义颜色,其代码如下: #define DesiableColor RGB(192,192,192) //灰色, 按钮不可用 #define FocusColor RGB(255,0,0) //红色, 按钮拥有焦点 #define SelectColor RGB(0,255,0) //绿色, 按钮被按下 #define DefaultColor RGB(0,0,255) //蓝色, 默认 #define TextColor RGB(128,128,128) //浅灰色, 文本颜色 接下来,添加成员变量: public: CRect m_ClientRect; //用来保存按钮的客户的矩形区域 CRgn m_ClientRgn ; //用来保存按钮的客户区域,非矩形 UINT m_State; //按钮所处状态 CPoint m_Point; //当前鼠标位置 BOOL m_IsTimerOn; //标识计时器是否已经打开 利用ClassWizard添加消息映射和响应函数,如图4.5所示: 图4.5添加响应函数 再利用ClassWizard覆盖父类中的两个关键的虚函数: //{{AFX_

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档