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

 我来答
Bhattacharrya
推荐于2018-04-04 · TA获得超过806个赞
知道小有建树答主
回答量:259
采纳率:42%
帮助的人:134万
展开全部
主窗口可采用非模式对话框方式,第二个窗口用模式或非模式都可以。
主窗口显示时,可以调对象的ShowWindow(SW_SHOW),等第二个窗口弹出后,再调主窗口对象的ShowWindow(SW_HIDE)。

如果需要在第二个窗口中单击退出程序时,直接调主窗口的OnClose(),由于OnClose()函数是主窗口的Protected函数,你可以在主窗口中定义一个Pubilc的Close函数,执行OnClose(),然后调主窗口的Close(),或者直接exit(0),不过这样有时候会出问题。
uglbm54
2010-12-10 · TA获得超过4583个赞
知道小有建树答主
回答量:1723
采纳率:83%
帮助的人:1080万
展开全部
1、建立Message Map(消息映射),将button的COMMAND消息映射到一个函数上面。
2、在函数中创建record窗体的实例并调用DoModal呈现窗口。

在网上给你找了一个例子,可以自己看看:

-----------------------------
补充:如何建立消息映射这是MFC最基础的知识了,如果这个都不会那MFC其它的根本没法搞了。硬让我在这里讲消息映射这种基本功的话太啰嗦而且不一定说得清楚,你应该先看看书,或者看我上面给的链接中的例子。那个例子中的第5个就是显示多个子窗口的。什么叫做“怎么调用DoModal”?DoModal是CDialog的一个成员函数,直接调用就是了,还能有其他什么调用方法?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
四念住
2010-12-10 · TA获得超过270个赞
知道小有建树答主
回答量:587
采纳率:0%
帮助的人:237万
展开全部
DoModal()前执行ShowWindow(SW_HIDE)。 就会把父窗口隐藏了. 子窗口要响应OnClose,里面把父窗口给ShowWindow(SW_SHOW); 显示出来.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
表情君装x图在线制作
2010-12-10 · TA获得超过1928个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:170万
展开全部
CxxxDialog r;
ShowWindow(SW_HIDE);
r.DoModal();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式