关于模态对话框和非模态对话框的创建、显示,以及和父对话框的传值

本文介绍了模态和非模态对话框的创建与显示方法,以及如何在MFC中实现父子对话框间的值传递。模态对话框通过阻塞方式限制用户操作,而非模态对话框允许用户同时操作多个窗口。文章讨论了不同创建和显示方式的影响,以及使用局部变量和成员变量的优缺点。在传值方面,提出了成员变量和全局变量的不同解决方案,同时也提醒了对话框销毁时需要注意的内存释放问题。
摘要由CSDN通过智能技术生成

当然网上关于这方面的技术博文非常多,此处我只是进行一下小记,再加一点自己的体会,方便以后查询。

一、模态对话框
1.创建及显示
模态对话框是一种阻塞式的对话框,即没有处理完该对话框,不能对其他地方进行操作。比如我自己项目中药输入网络流的播放url的那种对话框。它的创建很简单。

Curl_File dlg;
    if (dlg.DoModal()==IDOK)
    {
         //do something here.
    }

Curl_File是该模态对话框类,使用前应先使用类向导先创建好。

2.和父对话框传值
我只写我自己常用的方法啊。首先在该模态对话框类里面声明一个成员变量,比如我自己的CString url;再在父对话框中声明一个变量用来接收它,比如CString myurl;那么传值就很简单,直接在上面的代码if中写上myurl=dlg.url;就完事。同理,若要是从父对话框传值到该模态子对话框中,也用同样的方法。当然也还有其他的方法。

二、非模态对话框
1.创建及显示
非模态对话框和模态对话框相反,它不是阻塞型的,即你可以同时操作其他的窗口,比如父窗口。相比模态对话框来说,它可能稍微复杂点。一般创建有两种方法。采用局部变量和成员变量两种方式。
a.采用局部变量

 CTerminal *     ptty=new<
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值