李晓奇 丁健华 吴继超等MFC计算器课程设计报告供参习.docVIP

李晓奇 丁健华 吴继超等MFC计算器课程设计报告供参习.doc

  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文档。上传文档
查看更多
李晓奇 丁健华 吴继超等MFC计算器课程设计报告供参习

MFC表达式计算器课程设计报告 实验名称: MFC课程设计 指导教师: 刘晓军 专 业: 机械工程学院 班 级: 5班 学生姓名及学号:丁健华 李晓奇 吴继超 完成日期:2012年10月13日 小组成员及分工: 李晓奇(主要负责Calculate.cpp代码的编写) 李晓奇(主要负责界面的设计和实现、辅助代码的编写) 丁健华(主要负责功能的改进与创新、辅助代码的编写) 丁健华(主要负责代码的链接、辅助代码的编写) 吴继超(主要负责报告的书写、辅助代码的编写) 题目:利用MFC框架编写简易表达式计算器 【分析】 一.设计过程 1.Windows消息处理机制的理解 首先编写程序需要对Windows程序的消息处理机制(Message Handle)有个比较清晰的了解。Windows的程序都是通过消息来传送数据,有不需要用户参与的系统消息,比如异常处理等。还有用户消息,比如鼠标的单击,双击,键盘的键入等。 2.界面的设计 1)界面的初步设计 仿照Windows附件里面的计算器,在资源视图中画好界面,如图: 2)修改每个static的属性 ID CAPTION IDD_STATIC4 简易表达式计算器 IDC_STATIC1 待求表达式 IDC_STATIC2 运算结果 IDC_STATIC3 系统当前时间 3)修改每个button的属性 IDC_BUTTON1 等于(=) IDC_BUTTON2 全清(C) IDC_BUTTON3 清除 (A) 结果如下图: 4)修改每个button的处理机制 在类向导Classwizard窗口中进行,如下图: 其他button按钮的修改类似 5)修改每个edit的类型和名称 在类向导Classwizard窗口中进行: 单击Add Variable按钮,在如下窗口中进行修改 其他edit的修改类似 最终结果如下: 注:主要使用到Layout菜单中的Align功能对各个按钮进行对齐,使界面更加整洁。拖出的控件有上面的一个Edit控件用于显示数字,Button控件用于处理鼠标的消息。 6)系统菜单的添加 在Menu的IDR_MENU1中添加系统菜单: 同理在“帮助”菜单中添加“关于”。 设计步骤 1. 添加头文件 将Calculate.cpp(见附录)改为Calculate.h将其添加到计算器Dlg.cpp : implementation file中,如下:#include Calculate.h。 2.成员函数及其释义: void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMyDlg dialog CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg::IDD, pParent) { //{{AFX_DATA_INIT(CMyDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME); } void CMyDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_

文档评论(0)

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

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

1亿VIP精品文档

相关文档