【发布时间】:2014-04-27 20:45:20
【问题描述】:
在我对 OnShowWindow 的覆盖中调用 CDialog::OnShowWindow 时,我的应用程序挂起。它仅在对话框中的编辑框当前具有焦点时挂起。当 bShow 和 nStatus 都为 0 时,它会挂起,这意味着对话框正在隐藏。
我还有其他类似的对话框,当编辑框获得焦点时,对 CDialog::OnShowWindow() 的调用不会挂在其中。
我真的不知道如何调试这个......
【问题讨论】:
-
调试器在挂起期间说它在做什么?如果我们有堆栈爬网,肯定会更容易诊断。
-
我如何给你一个堆栈爬取?我在 OnShowWindow 上方看到了一个带有 int nMsg=24 的 DefWindowProcA 调用。上面是一堆 user32.dll 条目。然后上面有一个 AfxWndProcBase,AfxWndProc 调用,nMsg=135 在这些条目中。
-
nMsg=135 显然是 WM_GETDLGCODE。不确定这是否有帮助。