hur.cn - 华软网

 热门搜索

新建子对话框不执行OnInitDialog()

  作者:未知    来源:网络    更新时间:2011/9/20
我用的VC10。
先添加了一个子对话框IDD_DIALOG1,然后在主对话框中添加一段代码,如下
CDIALOGDlg *pDlg=new CDIALOGDlg;
pDlg->Create(IDD_DIALOG1,this);
pDlg->ShowWindow(SW_SHOW);
然后在IDD_DIALOG1对话框中的类向导中添加了虚函数 OnInitDialog()
现在发现,在主对话框中创建了子对话框后,子对话框并没有执行OnInitDialog()
然后我在OnInitDialog()中下了一个断点,发现也确实没有进入到这个函数中

然后我新建了一个工程,没任何多余的代码,只添加了创建子对话框的代码和子对话框中的OnInitDialog()
仍然没有进入到OnInitDialog()函数中。

在网上也没找到解决方法,没办法了来发帖试试能不能求到解答。
---华软 网友回答---
什么意思哦。。你是要主对话框按一个按钮弹出子对话框吗
你先给子对话框添加相应的类。。
然后在主对话框中添加子类的对象,然后(子类对象名).DoModal();
试试看

---华软网友回复---
*pDlg不是子对话框吧,CDIALOGDlg 这个是哪个类?子对话框类,还是父对话框类?
---华软网友回复---
Create()估计创建失败了.
---华软网友回复---
你添加的子对话框也是在主类中是吧
---华软网友回复---
你这边的Create调用产生的消息是WM_CREATE,OnInitDialog相应的是WM_INITDIALOG,你应该调用DoModal
---华软网友回复---
今天早上又试了下昨天的代码,没做什么改动,居然又行了

汗啊,难道这就是传说中的灵异事件

不管有用没用,还是感谢楼上几位的回答。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。