前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mfc 创建模态对话框与非模态对话框

mfc 创建模态对话框与非模态对话框

作者头像
我与梦想有个约会
发布2023-10-20 18:32:25
2330
发布2023-10-20 18:32:25
举报
文章被收录于专栏:jiajia_dengjiajia_deng

所谓模态对话框就是该对话框被创建后,其父窗口不能响应任何消息,无法操作,只有在关闭了新创建出来的窗口后才能继续操作其后面的父窗口。而非模态对话框则不会有这种情况,非模态对话框创建完成后不影响父窗口的操作,两个窗口可以同时响应消息。


创建模态对话框

想创建一个模态对话框一共分三步。 1、在资源视图中创建一个对话框资源

2015-07-31_190223
2015-07-31_190223

2、给该对话框资源创建一个类,继承于 CDialog 类,命名为 CMyDialog

3、在想创建该对话框的地方添加如下代码  

代码语言:javascript
复制
// 模态对话框
CMyDialog dialog;
dialog.DoModal();

这样一个模态对话框就创建好了,在这个对话框中,你还可以添加其他控件,对每个控件做消息响应,这些消息响应函数会写在你创建的 CMyDialog 类中的。

创建非模态对话框

创建非模态对话框相对简单,我们可以不需要自己派生一个 CDialog 的子类再调用子类的 DoModal(这个函数是模态对话框使用的),如果我们已经在资源视图创建好了对话框资源,那么直接使用如下代码就可以创建一个非模态的对话框。

代码语言:javascript
复制
// 非模态
CDialog* dialog = new CDialog;// new 一个对话框对象
dialog->Create(IDD_MYDIALOG, this);// 初始化对话框和我们的对话框资源绑定
dialog->ShowWindow(SW_SHOWNORMAL);// 显示对话框
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建模态对话框
  • 创建非模态对话框
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档