项目是从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()中得代码都没有执行,应该不是我代码问题吧。
1:清理后重新生成。
2:看CDlgBtnText.cpp中的映射对否。
3:从DoModal()处跟入进去调试。
4:我记得我以前也遇到过,是因为在WndProc(...)中处理出错了。
总有有人回了,激动。感谢!
DoModal()跟了,跟不进去。
映射应该没有错误,因为对话框弹出来了,而且在EVC中编译是正常的。应该可以排除代码问题。
可否加QQ详解 :三三182三860