1. 为加法计算器程序添加一个模态对话框

Windows 对话框分为两类:模态对话框和非模态对话框。
模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,
只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。
非模态对话框则是, 它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一

般用来显示提示信息等

step1:

根据创建对话框模板和修改对话框属性中所讲的方法,在Resource View 中的―Di
alog‖
上点右键选择―Insert Dialog‖,创建一个新的对话框模板,修改其IDIDD_TIP_DIAL
OG
Caption 改为提示,然后参考为对话框添加控件中所讲,在对话框模板上添加一个
静态文本框(
static text),Caption改为您确定要进行加法计算吗?,接下来修改 OK按钮
Caption 确定Cancel 按钮的Caption取消,最后调整各个控件的位置和对话框的
大小。最终的对话框模板如下图:

step2:

.根据创建对话框类和添加控件变量中创建对话框类的方法,在对话框模板上点右键
选择
―Add Class...‖,弹出添加类的对话框,设置―Class name‖CTipDlg,点―OK‖。在Sol
ution Explorer
中可以看到生成了 CTipDlg类的头文件TipDlg.h 和源文件 TipDlg.cpp

step3:

我们要在点计算按钮之后弹出此提示对话框,那么就要在计算按钮的消息处理函
OnBnClickedAddButton()中访问提示对话框类,所以为了访问CTipDlg类,在 Addition
Dlg.cpp
中包含 CTipDlg的头文件:#include "TipDlg.h"

step4:

修改 OnBnClickedAddButton()的函数体,在所有代码前,构造CTipDlg类的对象 tip
Dlg
,并通过语句 tipDlg.DoModal();弹出对话框,最后判断DoModal()函数的返回值是IDO
K
还是 IDCANCEL 来确定是否继续进行计算。 OnBnClickedAddButton()函数修改后如下:

void CAdditionDlg::OnBnClickedAddButton()
2. {
3. // TODO: Add your control notification handler code here
4. INT_PTR nRes; // 用于保存 DoModal 函数的返回值
5.
6. CTipDlg tipDlg; // 构造对话框类 CTipDlg 的实例
7. nRes = tipDlg.DoModal(); // 弹出对话框
8. if (IDCANCEL == nRes) // 判断对话框退出后返回值是否为 IDCANC
EL,如果是则 return,否则继续向下执行
9. return;
10.
11. // 将各控件中的数据保存到相应的变量
12. UpdateData(TRUE);
13.
14. // 将被加数和加数的加和赋值给 m_editSum
15. m_editSum = m_editSummand + m_editAddend;
16.
17. // 根据各变量的值更新相应的控件。和的编辑框会显示 m_editSum 的值
18. UpdateData(FALSE);
19. }





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值