如何在主对话框显示后,自动弹出一个子对话框

windyloft 2010-11-17 10:16:49
如何在主对话框显示后,自动弹出一个子对话框。
...全文
523 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
LuciferStar 2010-11-17
  • 打赏
  • 举报
回复
ShowWindow里添加?
huang462028247 2010-11-17
  • 打赏
  • 举报
回复
在OnInitDialog()里面是可以的,我都经常这样做。比如在弹出主界面之前需要先输入用户名、密码什么的,估计楼主代码其它地方有问题。
另外,楼主是想主对话框出来之后再弹出对话框的话还有用定时器吧。在主的OnInitDialog设好定时器就达到效果了。否则,如果在主对话框的OnInitDialog中Domodal()子对话框的话,先出来的是子对话框,等你把子对话框关掉才会显示出主对话框。
luo_xuewu 2010-11-17
  • 打赏
  • 举报
回复
你会编写弹出对话框的代码了,这就好办,在对话框响应WM_INITDIALOG消息时再弹出一个对话框,这就行了.楼主有兴趣的话加我QQ(759976599)吧,我正在学习API和MFC,希望结识更多的编程爱好者共同学习
zjfhgdx 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ionstorm2 的回复:]
引用 8 楼 zjfhgdx 的回复:

domodal貌似不可以


DoModal是用于模态对话框的~~~~
如果你是模态对话框的,用DoModal是可以的,我测试过
[/Quote]
调用domodal是不会显示主窗口的
lake_wave 2010-11-17
  • 打赏
  • 举报
回复
settimer最好
sparrow429 2010-11-17
  • 打赏
  • 举报
回复
ls的思路肯定可以,估计lz代码有问题吧
Ionstorm2 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zjfhgdx 的回复:]

domodal貌似不可以
[/Quote]

DoModal是用于模态对话框的~~~~
如果你是模态对话框的,用DoModal是可以的,我测试过
zjfhgdx 2010-11-17
  • 打赏
  • 举报
回复
BOOL Ciocp_server3Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标

// TODO: 在此添加额外的初始化代码
aaa=new dlgaaa;
aaa->Create(IDD_DIALOG1);
aaa->ShowWindow(1);
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
这个是我的代码,运行完全正常
mayudong1 2010-11-17
  • 打赏
  • 举报
回复
使用自定义消息也可以,在住对话框的初始化最后Post一个消息,再在这个消息处理函数中来弹出子对话框

不过感觉最简单的应该就是settimer了吧
本本人 2010-11-17
  • 打赏
  • 举报
回复
方法太多了,你也可以用SetTimer发消息过去等待弹出子对话框!
本本人 2010-11-17
  • 打赏
  • 举报
回复
先创建两个非模态对话框,然后设置显示方式,也就是弹出方式!
xujian616 2010-11-17
  • 打赏
  • 举报
回复
你可以创建一个单文档SDI应用程序,再在OnInitdialog()函数里面调用函数,打开子窗口!
zjfhgdx 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 windyloft 的回复:]
在OnInitDialog这里面创建子对话框程序就崩了。
[/Quote]
我的怎么没有崩溃
zjfhgdx 2010-11-17
  • 打赏
  • 举报
回复
domodal貌似不可以
windyloft 2010-11-17
  • 打赏
  • 举报
回复
在OnInitDialog这里面创建子对话框程序就崩了。
Ionstorm2 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zjfhgdx 的回复:]

这样的话只要在初始化函数里调用你的子对话框的create或者其它函数创建子对话框就可以了吧
[/Quote]

4L正解,在主对话框的OnInitDialog函数里调用子对话框的create或者DoModal函数就可以了~~
Daveee 2010-11-17
  • 打赏
  • 举报
回复
举个例子,在父对话框初始化完成后,你可以setimer设置时间显示一个模态对话框,
或者简单点直接在初始化父窗口的函数中调用子窗口显示就好
zjfhgdx 2010-11-17
  • 打赏
  • 举报
回复
这样的话只要在初始化函数里调用你的子对话框的create或者其它函数创建子对话框就可以了吧
windyloft 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zjfhgdx 的回复:]
引用楼主 windyloft 的回复:
如何在主对话框显示后,自动弹出一个子对话框。

你是说当对话框初始化完毕并且show出来的时候?
[/Quote]
是的。
zjfhgdx 2010-11-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 windyloft 的回复:]
如何在主对话框显示后,自动弹出一个子对话框。
[/Quote]
你是说当对话框初始化完毕并且show出来的时候?
加载更多回复(1)

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧