创建模态对话框和非模态对话框

  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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值