VC6中两个对话框的同时显示 作者:黄基前

本文介绍如何在VC++中实现两个MFC对话框的同时显示。通过创建非模态对话框,并使用Create()及ShowWindow()函数,可以实现在主对话框显示的同时,第二个对话框也能作为非模态对话框显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2001年01月09日 10:47:00

对于VC++初学者,可能会遇到这样一个问题:一个基于Dialog的MFC AppWizard应用程序,再Insert一个对话框,如何同时显示这两个对话框呢?

---- 其实这个问题很简单,想要在屏幕上同时显示两个对话框,并且这两个对话框都可以被激活,则至少第二个对话框应该为非模态对话框。启动非模态对话框的方法与启动一个普通窗口的步骤是一样的,即先调用窗口类的Create()函数创建一个窗口对象,再用ShowWindow()使之显示出来即可(值得注意的是:第二个对话框的对象不能为局部变量,否则在退出OnInitDialog时,该对象会被自动关闭,从而导致第二窗口也会关闭)。例如,下列的代码演示了如何在主对话框的OnInitDialog()中启动另一个非模态对话框。

CDialog2 Dlg2; //注意Dlg2不能为OnInitDialog的局部变量。BOOL CDialog1::OnInitDialog() {   Cdialog::OnInitDialog();   Dlg2.Create(IDD_DIALOG2,this );   Dlg2.ShowWindow(SW_SHOW);}

----

编译并运行,怎么样,结果是不是OK了?

转载自中国程序员网站



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=3297


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值