中易网

在C++的MFC中如何在用DoModal()调用另外一个窗口后把原来的窗口消失?

答案:4  悬赏:40  
解决时间 2021-03-13 08:48
在C++的MFC中如何在用DoModal()调用另外一个窗口后把原来的窗口消失?
最佳答案
主窗口可采用非模式对话框方式,第二个窗口用模式或非模式都可以。
主窗口显示时,可以调对象的ShowWindow(SW_SHOW),等第二个窗口弹出后,再调主窗口对象的ShowWindow(SW_HIDE)。

如果需要在第二个窗口中单击退出程序时,直接调主窗口的OnClose(),由于OnClose()函数是主窗口的Protected函数,你可以在主窗口中定义一个Pubilc的Close函数,执行OnClose(),然后调主窗口的Close(),或者直接exit(0),不过这样有时候会出问题。
全部回答
CxxxDialog r;
ShowWindow(SW_HIDE);
r.DoModal();
DoModal()前执行ShowWindow(SW_HIDE)。 就会把父窗口隐藏了. 子窗口要响应OnClose,里面把父窗口给ShowWindow(SW_SHOW); 显示出来.
1、建立Message Map(消息映射),将button的COMMAND消息映射到一个函数上面。
2、在函数中创建record窗体的实例并调用DoModal呈现窗口。
在网上给你找了一个例子,可以自己看看:
-----------------------------
补充:如何建立消息映射这是MFC最基础的知识了,如果这个都不会那MFC其它的根本没法搞了。硬让我在这里讲消息映射这种基本功的话太啰嗦而且不一定说得清楚,你应该先看看书,或者看我上面给的链接中的例子。那个例子中的第5个就是显示多个子窗口的。什么叫做“怎么调用DoModal”?DoModal是CDialog的一个成员函数,直接调用就是了,还能有其他什么调用方法?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
鸿记茶行在什么地方啊,我要过去处理事情
正在开花的起腻了怎么办?
有什么结晶体化学剂人吸吃后会头晕
如何预习高一的学科
一块长方形地,长120米,若宽延长40米,面积
鞍山新化工有限公司地址在哪,我要去那里办事
断桥铝平开上悬窗打不开,怎么办?
VLAN Id在哪里进入设置
我公司正常上班但是公司不让我加班怎么办
济南有没有早九晚五的工作!接送孩子两不误!
电信宽带网上续费是实时到账吗?
我国自2008年开始,新增了哪三个传统节日作为
大连镶牙的费用是多少?
桂颜坊美容美体养生馆在哪里啊,我有事要去这
驾照科目三排名在3万多名怎么办
推荐资讯
中国石化仇湖加油站怎么去啊,有知道地址的么
非诚勿扰韩国小伙看有没有整容是哪一期
我好烦呢为什么看见地下有人掉东西自己没有一
下列哪位皇帝没有当过太上皇?
宏碁电脑源潭授权店地址在什么地方,想过去办
要给朋友留言怎么说才好呢
这台电脑需要多少钱,价钱合适跟我装一台
勒布朗詹姆斯到目前为止总得分是多少?
韩山师范学院和潮州师范分不清楚啊,到底是不
奔驰glk300玻璃水壶安装位置
大神帮我改改
提前还房贷后可以退保险费吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?