首页 新闻 搜索 专区 学院

OnInitDialog()进不去

0
悬赏园豆:80 [已解决问题] 解决于 2011-12-23 10:35

项目是从EVC移植到VS2005的,改掉好多BUG后,发现对话框显示异常,调试出是因为重写的OnInitDialog()进不去,在EVC中编译正常,OnInitDialog()也进去了,后来我又从新创建了一个对话框也同样进不去,代码如下:

void CLmDemoView::OnOpenmenu() 
{

//控制功能菜单显示

CDlgBtnTest dlgTest;
dlgTest.DoModal();

}
// CDlgBtnTest中重写对话框初始化函数
BOOL CDlgBtnText::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: 在此添加额外的初始化
AfxMessageBox(_T("妞,露个脸呗!!"));
return TRUE; // return TRUE unless you set the focus to a control

}


就是这样,编译成功,对话框也运行正常,但是就是没有进入OnInitDialog(),也没有弹出消息框!

很是灵异啊,项目中所有对话框类但凡写在OnInitDialog()中得代码都没有执行,应该不是我代码问题吧。

善小书的主页 善小书 | 初学一级 | 园豆:128
提问于:2011-12-22 11:23
< >
分享
最佳答案
1

1:清理后重新生成。

2:看CDlgBtnText.cpp中的映射对否。

3:从DoModal()处跟入进去调试。

4:我记得我以前也遇到过,是因为在WndProc(...)中处理出错了。

收获园豆:80
glimix | 初学一级 |园豆:154 | 2011-12-22 13:08

总有有人回了,激动。感谢!

DoModal()跟了,跟不进去。

映射应该没有错误,因为对话框弹出来了,而且在EVC中编译是正常的。应该可以排除代码问题。

可否加QQ详解 :三三182三860

善小书 | 园豆:128 (初学一级) | 2011-12-22 16:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册