一、非模态对话框:创建后,主程序还可以运行。

创建步骤如下:

1.1先建立一个基本对话框MFC工程,在资源列表添加一个对话框资源

1.2将创建的对话框修改名字和ID,比如将ID名为:IDD_TIP_DIALOG

1.3给对话框添加一个类,类名称为:TipDlg。(注意:TipDlg类的基类为CDialog)

则在解决方案列表可以看到创建了一个TipDlg.h和TipDlg.cpp文件。

1.4在主对话框头文件添加一个虚函数和定义指向TipDlg类的指针,源文件添加delete TipDlg程序,用来注销资源。

//*****头文件******

virtual~CMainPro1Dlg();//创建虚函数,类退出后,自动释放非模态对话框资源

private:

TipDlg *pTipDlg;

//*********源文件***************

1.5在主对话框添加一个Test按钮,并且双击,在其内添加如下程序

TipDlg *pTipDlg = new TipDlg();//对指针进行初始化

pTipDlg->Create(IDD_TIP_DIALOG, this);

pTipDlg->ShowWindow(SW_SHOW);

1.6创建对话框完成,执行程序,如下。

总结:主要步骤是,创建新对话框后,关联一个类,然后用一个指针指向该类;接着用该指针创建对话框和显示对话框,最后在虚构函数中销毁该指针,释放资源。即:

TipDlg *pTipDlg = new TipDlg();//对指针进行初始化

pTipDlg->Create(IDD_TIP_DIALOG, this);

pTipDlg->ShowWindow(SW_SHOW);

deletepTipDlg;//在析构函数中写入

二、模态对话框:程序执行时,只能运行该对话框,直到对话框程序执行完毕后,才能再次执行主对话框。

模态对话框的创建和使用跟非模态对话框类似,其步骤如下:

2.1按照非模态对话框1.1到1.4的步骤创建好对话框和关联类。

2.2在主界面添加一个按钮,并且添加事件处理函数

2.3在该按钮添加如下代码:

TipDlg pdlg;

pdlg.DoModal();

2.4运行执行程序,得到如下结果。

总结:模态对话框的函数代码为:

TipDlg pdlg;

pdlg.DoModal();

三、非模态对话框和模态对话框用法总结

3.1相同点:两者添加对话框资源和关联类的操作步骤是一样的。

3.2不同点:两者创建和显示的函数不一样。

3.2.1非模态对话框创建和显示函数

TipDlg *pTipDlg = new TipDlg();//对指针进行初始化

pTipDlg->Create(IDD_TIP_DIALOG, this);

pTipDlg->ShowWindow(SW_SHOW);

3.2.2模态对话框创建和显示函数

TipDlg pdlg;

pdlg.DoModal();

非模态对话框和模态对话框_创建相关推荐

  1. 一文搞懂如何创建基于对话框的模态对话框和非模态对话框

    Windows应用程序工作的基本流程是从用户那里得到数据,经过相应的处理之后,再把处理结果输出到屏幕.打印机或者其他的输出设备上.那么,应用程序是如何从用户那里得到数据,并且再将修改后的数据显示给用户 ...

  2. Qt中的对话框(模态,非模态,关于,问题,文件)

    2019独角兽企业重金招聘Python工程师标准>>> 项目pro中添加 CONFIG += C++11 mianwindow.h文件 #ifndef MAINWINDOW_H #d ...

  3. Qt模态对话框/非模态对话框/半模态对话框

    模态对话框 阻塞同一应用程序中其它可视窗口输入的对话框: 显示模态对话框最常见的方法是调用其exec()函数: #pragma execution_character_set("utf-8& ...

  4. qt设置模态对话框并设置对话框的位置

    引言 当对话框弹出的时候,其它的操作不能进行,这个对话框就是模态对话框,非模态对话框弹出的时候,其它的操作依旧可以做.以上就是通俗的理解模态对话框与非模态对话框.下面实现当模态对话框弹出的时候,设置弹 ...

  5. Qt 模态对话框不模态的问题

    自定义对话框,通过函数this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);设置了对话框的显示 ...

  6. VS2019/MFC编程入门之对话框:向导对话框的创建及显示

    上一讲讲了属性页对话框和相关的两个类CPropertyPage类和CPropertySheet类,对使用属性页对话框做准备.本节将为大家演示如何创建向导对话框. 仍然以前面的"加法计算器&q ...

  7. html弹出非模式窗口,JavaScript模态窗口和非模态窗口(转)

    JavaScript中弹出的窗口有模态窗口和非模态窗口.模态窗口就是打开一个子窗口,如果这个子窗口不关闭,就不能操作它的父窗口,原来程序暂停执行,直到这个模态窗口关闭 后才回到原来程序继续.非模态的就 ...

  8. java 非模态_Qt 之 模态、非模态、半模态窗口的介绍及 实现QDialog的exec()方法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/GoForwardToStep/arti ...

  9. Qt之模式、非模式、半模式对话框

    关于"模式"和"非模式"对话框,相信大家都比较熟悉,但其中有一个可能很多人都比较陌生,介于两者之间的状态,我们称之为"半模式". 模式对话框 ...

最新文章

  1. Scratch等级考试(一级)模拟题
  2. 台3岁女童疑把玩风枪致死案疑点多 警方将调查厘清
  3. 惠普打印机怎么无线连接电脑_惠普打印机连不上无线?怎么解!
  4. 在Saas发展的黄金时代里带你理解SaaS设计
  5. Collections和Collection的区别:
  6. Cisco IOS Cookbook 中文精简版(续)
  7. 调用图片文件夹中的任意图片随机显示_hexo框架下,实现图片一键式上传到七牛云
  8. kerberos安全认证
  9. neo4j︱Cypher完整案例csv导入、关系联通、高级查询(三)
  10. 深度神经网络模型与前向传播
  11. kpi绩效考核流程图_XX公司KPI绩效考核案例.doc
  12. 解决七彩虹断剑C.A320M-K PRO V14在Win11下前置面板音频接口无法使用的问题
  13. 数学建模基础理论【二】(定积分)
  14. 全国高考今日开启 报名人数再创历史新高 2022全国高考时间科目安排 优积科技-祝同学们高考顺利
  15. 晓月_【斗战神学习四十】金山寺
  16. 技术科普丨解密无处不在的EMC干扰
  17. Hive入门 ------ Hive是什么,产生背景
  18. 调用百度地图Api,定位到大西洋的问题
  19. 【UE4】材质编辑器教程笔记整理
  20. 独立站SEO如何分析竞争对手之策略与教程

热门文章

  1. 云图-CADViewerX 7.X OCX
  2. QQ卡丁车:腾讯自主研发的联网对战赛车游戏
  3. 阿里云ECS共享型、通用型和突发型实例类型有什么区别?如何选择?
  4. GDPR全文翻译(一)
  5. MY SQL 数据库升级
  6. 家政保洁月嫂保姆家政公司网站源码 dedecms织梦
  7. mysql 实例名是什么意思_mysql 实例是什么意思?
  8. ubuntu下查看opencv安装路径以及版本号
  9. CAJ如何转化为PDF文件
  10. MySQL中如何定义一个自己写的函数