模态对话框 DoModal的用法 (vs2008)与非模态对话框
Windows对话框分为两类:模态对话框和非模态对话框。
模态对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。
非模态对话框,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。
弹出模态对话框
弹出对话框比较关键的一个函数,就是对话框类的DoModal()函数。CDialog::DoModal()函数的原型为:
virtual INT_PTR DoModal();
DoModal是一个函数,可以用来显示一个模态对话框。此成员函数用来显示一个模态对话框。其返回值对应于用来关闭对话框的控件的ID。 此函数返回后,Windows响应这个对话框,所有的属性页都会被销毁。要显示一个非模态对话框,请调用Create来代替此函数。
返回值:如果函数成功则返回IDOK或IDCANCEL;否则返回0或-1。IDOK和IDCANCEL都是常量,它表明用户选择的是OK按钮还是Cancel按钮。
调用了它对话框就会弹出,返回值是退出对话框时所点的按钮的ID,比如,我们点了“退出”按钮,那么DoModal返回值为IDCANCEL。
代码:
首先新建一个dialog,取名为TipDlg,并对该对话框添加新类
void CTestDlg::OnBnClickedBtnAdd()
{
// TODO: 在此添加控件通知处理程序代码、 //////////////////////////////////////////
INT_PTR nRes; //用于保存DoModal函数的返回值 CTipDlg tipDlg; //构造对话框CTipDlg的实例
nRes=tipDlg.DoModal(); //弹出对话框
if(IDCANCEL==nRes) //判断对话框退出后返回值是否为IDCANCEL,如果是证明选择了退出键返回IDCANCEL,则执行return,否则继续向下执行
return;
/*要执行的代码*/
}
非模态对话框的创建:http://www.jizhuomi.com/software/162.html
CDialog7为新建的对划框类
CDialog7 *dlg7=new CDialog7; //创建非模态对话框实例
dlg7->Create(IDD_DIALOG7,this);
dlg7->ShowWindow(SW_SHOW); //显示非模态对话框*/
最新文章
- ajax教程
- 【转】修改LINUX时间
- Java字符串中常见的10个问题
- 64位MicrosoftOfficeWord加载EndnoteX7
- codevs1842 递归第一次
- Http 1.1协议
- 在linux终端下打开pdf文件
- MVC中Jqgrid的用法
- highcharts 柱形图 饼图 加URL或Click事件
- HP DL160 Gen9服务器集群部署文档
- Web页面布局方式小结
- C 语言统计关键字出现次数
- IOS-Plist文件存储(1)
- Typora最常用快捷键
- 浅谈HTTP协议
- nmon安装与使用
- import logging报错raise notimplementederror 'emit must be implemented ' ^
- Spring(二)IOC底层实现原理
- JQuery EasyUI学习笔记
- 小白学习之Code First(五)
热门文章
- IntelliJ IDEA常用统一设置(Linux/Mac/Windows)
- 使用SmartQQ实现的智能回复(Web QQ协议)
- CNN网络--AlexNet
- C/C++中static关键字作用总结 &;&; 指针与引用的比较
- win10中显示wpcap.dll丢失的处理方式
- SolidEdge如何绘制阵列之后取消掉某一些
- linux find 命令查找 复制
- 搭建企业内部DNS服务器,docker 部署内部 dnsmasq
- Collection接口和Collections类的简单区别和讲解
- css设置图片居中、居左、居右