博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建模态对话框和非模态对话框
阅读量:4675 次
发布时间:2019-06-09

本文共 1014 字,大约阅读时间需要 3 分钟。

  MFC新手一枚,还是先从创建对话框开始吧。

  Windows有两种对话框,模态对话框(Modal Dialogue Box)和非模态对话框(Modeless)。

  模态对话框(Modal Dialogue Box)是指用户要对该对话框以外的应用程序进行操作的话,必须首先对该对话框进行响应,点击【确定】或【取消】来关闭该对话框。例如,你要删除某个文件时,Windows弹出的“确认删除文件夹”对话框,它就是个模态对话框。

非模态(Modeless)对话框,当用户打开非时,依然可以操作其他窗口。例如,Windows提供的记事本程序中的【查找】对话框。【查找】对话框不会垄断用户的输入,打开【查找】对话框后,仍可与其他用户界面对象进行交互。用户可以一边查找,一边修改文章,这样就大大方便了使用。

一.创建模态对话框

在已经创建好的一个MFC基于对话框项目DlgTest中,将资源视图中的资源展开,在Dialog文件夹上右键-->插入Dialog,此时就会生成一个新的对话框,修改对话框的ID为“IDD_DLG_TEST”(ID根据自己需求取名)

接着右键新建的对话框-->添加类,类名填写“CMyDialog”,基类选择“CDialog”,点击“完成”即可生成一个与该对话框相关的CMyDialog类。

打开类视图,右键CDlgTest-->添加变量,变量类型“CMyDialog * ”,变量名“m_pMyDlg”,点击“完成”,即为CDlgTest类添加一个变量。

 

给“IDD_DLGTEST_DIALOG”对话框添加一个按钮控件,按钮的Caption填写为“生成对话框”,双击该按钮,转到该button的消息响应函数里,添加如下代码:

 

1 m_pDlgTest = new CMyDialog;2 m_pDlgTest->DoModal();

2.创建非模态对话框

步骤和创建模态对话框相同,只是在往button的消息处理函数添加代码时不一样,添加如下代码:

1 m_pDlgTest = new CMyDialog;2 m_pDlgTest->Create(IDD_DLG_TEST, this);3 m_pDlgTest->ShowWindow(SW_SHOW);

运行即能看到效果,赶紧试试吧~

 

 

转载于:https://www.cnblogs.com/huxiaoyingying/p/3226583.html

你可能感兴趣的文章
php ffmpeg
查看>>
java中== 和 .equals()的区别
查看>>
网络流学习笔记
查看>>
让我们一起Go(二)
查看>>
Linq 中按照多个值进行分组(GroupBy)
查看>>
jquery validate
查看>>
模板函数与模板类
查看>>
Direct2D处理几何图形之间的碰撞检测(下)
查看>>
WPF月视图控件
查看>>
给WPF文字加多条修饰线
查看>>
Android指纹识别
查看>>
C#设计模式之十六观察者模式(Observer Pattern)【行为型】
查看>>
VS中的预先生成事件和后期生成事件
查看>>
JavaScript知识(二)
查看>>
Windows phone 8 学习笔记(7) 设备
查看>>
SQL Server的备份
查看>>
SQL Server 重置Identity标识列的值(INT爆了)
查看>>
如何将Android Studio项目提交(更新)到github
查看>>
DB2 Error
查看>>
【bzoj 3669】[Noi2014]魔法森林
查看>>