您的位置:首页 > 其它

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

2016-11-25 14:00 393 查看
Windows 对话框分为两类:模态对话框和非模态对话框。
模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,

只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。
非模态对话框则是, 它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一

般用来显示提示信息等

step1:

根据―创建对话框模板和修改对话框属性‖中所讲的方法,在Resource
View 中的―Di

alog‖上点右键选择―Insert Dialog‖,创建一个新的对话框模板,修改其ID为
IDD_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. }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐