Dlg::OnInitDialog() { CDialog::OnInitDialog(); …; // TODO: Add extra initialization here m_Sav="0.00"; m_S1=m_S2=m_S3; UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control } 在 ClassWizard 中双击 OnButton1()函数,打开代码编辑器中的 OnButton1()函数代码, 找到其中的 // TODO: Add extra initialization here,加入下面的黑体字给出的 4 行代码: void CDlgDlg::OnButton1() { // TODO: Add extra initialization here UpdateData(); dou
ble ave=(double)(m_S1+m_S2+m_S3)/3.0; m_Sav.Format("%6.2f",ave); UpdateData(FALSE); }
7. 编译运行程序:
20
注释: 注释:
UpdateData()函数的作用是允许更新控件变量, UpdateData(FALSE) 禁止更新控件变量的值。
21
例 2.
设计 MFC 对话框应用程序,实现一个具有四则运算功 对话框应用程序, 能的简单计算器。 能的简单计算器。 1. 新建项目: 新建项目:
2. 定制界面: 定制界面:
(1) 修改 MFC AppWizard 自动创建的对话框项目模板。删除模板上自动创建的三个控 件。 (2) 加入“简单计算器”、“请输入数据:”、“结果”三个静态文本框和相应的 3 个 编辑框。 (3) 加入一个 Group Box, 标题修改为 “请选择运算符: , ” 并在其中放入 4 个 Radio Button 将标题分别改为“+”、“-”、“*”、“/”。 (4) 继续用鼠标从工具箱中向对话框添加和 3 个按钮控件,更改按钮的标题为“计算”、 “清除”、“关闭”。
22
3. 添加变量
本例中用到以下 4 个 CSimpleCalcDlg 类的成员变量: 变量类型 float float float char 名称 m_N1 m_N2 m_ Result Operator
用 ClassWizard 为编辑框添加变量:m_N1, m_N2, m_Result
23
变量 char Operator 的添加方法: 在 WorkSpace 中进入 ClassView 视图, 鼠标右键单击 CSimpleCalcDlg, 在菜单中选择 “Add Member Variable…”
然后在弹出的对话框的输入变量类型和名称:
24
4. 添加消息映射
用 ClassWizard 为按钮控件添加消息映射:
继续用 ClassWizard 为 Radio Button 控件添加消息映射:
25
5. 加入单击按钮时的事件响应代码
在实现文件(cpp 文件)中加入单击按钮时的事件响应代码。(双击一个按钮可直接进 入函数编辑) //选择运算符 void CSimpleCalcDlg::OnRadio1() { Operator='+'; } void CSimpleCalcDlg::OnRadio2() { Operator='-'; } void CSimpleCalcDlg::OnRadio3() { Operator='*'; } void CSimpleCalcDlg::OnRad