VC6中两个对话框的同时显示
2013-10-14 17:00
288 查看
对于VC++初学者,可能会遇到这样一个问题:一个基于Dialog的MFC AppWizard应用程序,再Insert一个对话框,如何同时显示这两个对话框呢?
---- 其实这个问题很简单,想要在屏幕上同时显示两个对话框,并且这两个对话框都可以被激活,则至少第二个对话框应该为非模态对话框。启动非模态对话框的方法与启动一个普通窗口的步骤是一样的,即先调用窗口类的Create()函数创建一个窗口对象,再用ShowWindow()使之显示出来即可(值得注意的是:第二个对话框的对象不能为局部变量,否则在退出OnInitDialog时,该对象会被自动关闭,从而导致第二窗口也会关闭)。例如,下列的代码演示了如何在主对话框的OnInitDialog()中启动另一个非模态对话框。
http://webservices.ctocio.com.cn/88/11658588.shtml
---- 其实这个问题很简单,想要在屏幕上同时显示两个对话框,并且这两个对话框都可以被激活,则至少第二个对话框应该为非模态对话框。启动非模态对话框的方法与启动一个普通窗口的步骤是一样的,即先调用窗口类的Create()函数创建一个窗口对象,再用ShowWindow()使之显示出来即可(值得注意的是:第二个对话框的对象不能为局部变量,否则在退出OnInitDialog时,该对象会被自动关闭,从而导致第二窗口也会关闭)。例如,下列的代码演示了如何在主对话框的OnInitDialog()中启动另一个非模态对话框。
以下是代码片段: CDialog2 Dlg2; //注意Dlg2不能为 OnInitDialog的局部变量。 BOOL CDialog1::OnInitDialog() { Cdialog::OnInitDialog(); Dlg2.Create(IDD_DIALOG2,this ); Dlg2.ShowWindow(SW_SHOW); } |
相关文章推荐
- socket 发送邮件的SMTP指令
- Linux环境下用户空间与内核空间数据的交换方式
- 搜索引擎点击日志聚类实现相关搜索
- c语言一个很好的习惯
- informix 计算 日期之差
- java.lang.NoClassDefFoundError Adding a jar to an RCP application
- Codeforces Round #206 (Div. 1) A. Vasya and Robot
- “红衣战士”精神,是360的利剑?(经验之谈)
- cygrunsrv: Error starting a service: QueryServiceStatus: Win32 error 1062: 解决办法
- ofbiz之entity 实体解析
- 糟心的日期函数
- Codeforces Round #206 (Div. 2) B. Vasya and Public Transport
- 关于大数据处理 多并发 存储 查找
- 知乎-大学
- delphi中关键字inherited
- 打印Java数组,该怎么解决
- wxPython:事件
- Linux_vi_编辑器_02
- 基于TI8168大学数字图像教学实验平台
- NSTimer的暂停和继续