一行:#include"h719.h"
11
3. 生成和运行可执行程序文件: 生成和运行可执行程序文件: 步骤同单文件程序的生成和执行。
#
12
2.MFC 对话框应用程序实现举例
本指导书给出 3 个 MFC 对话框应用程序的实现实例,例 1 为求三 科平均成绩的简单程序, 2 为实现一个具有四则运算功能的简单计 例 算器,例 3 为一个彩票机程序(提供手动摇号和自动摇号两个彩票机 程序版本)。 通过这些程序可以达到以下目的: 掌握 AppWizard 的使用方法。 掌握 Workshop 中各种视图的使用和在不同视图之间切换的方法。 学会利用控件工具箱中的控件定制对话框界面。 学会控件变量及其他类成员变量的设置。 学会消息映射的概念和操作方法。 学会查看和编辑代码。
学习编译、运行和调试对话框应用程序。 1.实现一个求三科平均成绩的 对话框应用程序。 例 1.实现一个求三科平均成绩的 MFC 对话框应用程序。假设运行时 的界面如下: 的界面如下:
实现步骤: 实现步骤:
1. 在 Visual C++ 6.0
工作开发环境中,New 对话框中选择 MFC AppWizard [exe]项目,输 入项目名称并指定存放位置。
13
2. 在 MFC Wizard Step1 选择 Dialog(基本对话)程序类型,在 MFC Wizard Step2 中输入 对话框标题“求平均成绩”。
AppWizard 对话结束后打开对话框编辑窗口如下:
14
3. 定制界面:添加控件、设置属性 删除对话框模板中原有的“确定”按钮和内容为“TODO: 在这里设置对话控制。”的 Static Text 控件。 在
控件工具箱中取一个 Group Box 控件,调整适当大小,鼠标右键单击该控件边框,在 弹出的下拉菜单中打开属性对话框。将 Group Box 控件标题由“Static”改为“求平均分”。
15
在 Group Box 中添加 4 个 Static Text 控件, 按同样方法修改它们的标题属性为 “成绩 1” 、 “成绩 2”、“成绩 3”和“平均分”。 在 Group Box 中添加 4 个 Edit Box 控件,打开属性对话框的 Extended Styles 选项卡中将 它们设置为文本右对齐(Right Aligend Text)方式。其中第 4 个 Edit Box 控件的 Styles 属性 设置为 Read-only。
16
在 Group Box 中添加一个按钮 Button1,打开属性对话框将按钮的标题属性改为 “计算 平均分”。 鼠标右键单击“取消”按钮边框,在弹出的下拉菜单中打开属性对话框。将按钮标题改 为“退出”。
设计完成的界面如图,其中控件属性
列表如下: 控件 Group Box Static Text Static Text Static Text Static Text Edit Box Edit Box Edit Box Edit Box ID 号 IDC_STATIC IDC_STATIC IDC_STATIC IDC_STATIC IDC_STATIC IDC_EDIT1 IDC_EDIT2 IDC_EDIT3 IDC_EDIT4 标题 求平均分 成绩 1 成绩 2 成绩 3 平均分 Align text:Right Align text:Right Align text:Right Align text:Right;Read-only
17
属性
Button Button
IDC_BUTTON1 IDCANCEL
计算平均分 退出
4. 添加成员变量 单击 View(查看)>ClassWizard(建立类向导)菜单进入 ClassWizard,打开 Member Variables 选项卡:为 4 个 Edit Box 控件设置对应的变量:
同样的方法为其它 3 个 Edit Box 控件设置变量: 控件 ID IDC_EDIT1 IDC_EDIT2 IDC_EDIT3 IDC_EDIT4 变量名 m_S1 m_S2 m_S3 m_Sav 变量类型 int int int CString 数值范围 0~100 0~100 0~100
18
5. 添加消息映射(两条消息) 进入 ClassWizard,打开 Messages Maps 选项卡,在 Object Ids 中选择 CAverageDlg,在 Messages 中鼠标单击 WM_INIDIALOG, Member functions 中出现生成的消息映射成员函 在 数 OnInitDialog 提示:
在 Object Ids 中选择 IDC_BUTTON1,在 Messages 中鼠标单击 BN_CLIKED,在弹出对 话框中单击 OK 按钮:在 Member functions 中出现第二个生成的消息映射成员函数 OnButton1。
19
6. 添加代码 在 ClassWizard 中双击 OnInitDialog 函数, 打开代码编辑器中的 OnInitDialog()函数代码, 找到其中的 // TODO: Add extra initialization here,加入下面的黑体字给出的 3 行代码: BOOL CDlg