实习指导书()-基于MFC对话框程序设计.docVIP

  • 26
  • 0
  • 约 12页
  • 2015-08-07 发布于安徽
  • 举报

实习指导书()-基于MFC对话框程序设计.doc

第二部分 基于MFC的 对话框程序设计 概述 MFC简介 MFC是一个类库,类库是一个可以在应用程序中使用的相互关联的C++类的集合。 MFC作为一个Windows编程类库,它包含了200多个类,封装了Windows的大部分编程对象以及与它们有关的操作。 MFC主要组成部分包括类、宏和全局函数。 类是MFC中最主要的内容。MFC类是以层次结构方式组织起来的。MFC中的类分成两部分,除了一些辅助类,大多数的MFC类是直接或间接从根类CObject派生而来。几乎每一个派生层次都与一具体的Windows实例相对应,如文档类、窗口类和视图类等。下图是一个多文档MFC程序中各种对象的逻辑关系: MFC宏主要功能包括消息映射、运行时对象类型服务、诊断服务、异常处理等。 例如,MFC采用消息映射(Message Map)机制取代C/C++语言中的switch-case结构来处理消息。MFC消息映射机制包括一组消息映射宏。一条消息映射宏把一个Windows消息和其消息处理函数联结起来。在类的实现源文件中用BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()宏来定义消息映射。在类定义的结尾用DECLARE_MESSAGE_MAP()宏来声明使用消息映射。 一个基本消息映射结构如下所示: BEGIN_MESSAGE_MAP(theclass, baseclass) //{{AFX_MSG_MAP(theclass) ON_ . . . . . . // MFC预定义的消息映射宏 ON_MESSAGE(message , memberFxn) // 用户自定义的消息映射宏 . . . . . . //}}AFX_MSG_MAP END_MESSAGE_MAP() MFC约定:全局函数以“Afx”为前缀,全局变量以“afx”为前缀。例如,通过调用:AfxMessageBox(Some Message);可直接在屏幕上弹出消息对话框。 实践内容 用MFC开发一个计算器程序: 对话框类型的程序; 能够实现浮点数值的加减乘除运算; 界面由一个编辑框和若干按钮组成,编辑框负责表达按钮输入及计算的结果,按钮负责输入数字、加减乘除以及等于等动作的输入; 程序的核心功能由标准C++方式实现,并通过MFC框架代码调用其功能; 程序中的变量及函数要规范命名,并加以适当的注释。 实践环境要求 开发环境统一使用Microsoft Visual Studio 2005。 创建基本工程步骤 打开Microsoft Visual Studio 2005开发环境; 选择“新建”项目 弹出新建项目对话框,在项目类型中依次选择:Visual C++ -MFC,在右面的模板中选:MFC应用程序,在下面的名称中,键入项目名称,这里是:Task2,然后在位置一栏中选择项目保存的路径。 在确定新建对话框中的内容设置好后,选择确定按钮,弹出向导,在向导的应用程序类型页面中,按下图进行配置: 单击“完成”按钮,创建项目,解决方案中包括下述文件: 单击菜单中的“项目-属性”,弹出属性页对话框,在对话框中的左侧列表中选择“配置属性-常规”,在右侧的“项目默认值-字符集”中选择“使用多字节字符集”,按确认更改项目属性。(如果严格按上述向导配置工程,此处应该已经是“使用多字节字符集”状态) 单击“启动调试”按钮,在弹出的对话框中选择“是”,运行程序,运行结果如下: 至此,基本框架代码已经由环境建立,下一步可以编写自己的代码到框架中并实现预期的功能。 开发新功能 相对于任务一,本次任务要复杂一些,但很多工作步骤都是类似的,例如,如何在计算器文本框内显示文字,与任务一完全相同,这里就不再重复了。计算器中有许多功能按钮,这里仅例举一个添加按钮的例子,并进行消息映射的处理。 新建对话框按钮和编辑框 在资源视图中打开Dialog文件夹,双击IDD_TASK2_DIALOG项目,打开对话框编辑窗口: 单击“TODO: 在此放置对话框控件。”,删除这个控件。从控件工具栏中选择“Button”,将它拖动到对话框中,对话框中出现“Button1”按钮,修改其ID和Caption为适当的名字,这里修改为“IDC_TEST”和“TEST” 在TEST按钮上单击右键,在弹出菜单中选择“添加事件处理程序”,在弹出的对话框中按如下配置进行选择,这里也可自定义处理函数名字,默认为“OnBnClickedTest”: 按“添加编辑”按钮,自动定位到处理函数,可在此处编辑消息映射代码。 在对话框编辑器中打开对话框,在其中新建一个编辑框(Edit Control),并将编辑框的ID调整为IDC_MESSAGE: 编辑TEST按钮消息映射函数,这里代码的功能是:点

文档评论(0)

1亿VIP精品文档

相关文档