【发布时间】:2014-09-09 18:21:57
【问题描述】:
我正在维护我的大而成熟的应用程序,没有 MFC 范例和布局的背景。我有 Qt、OO 设计和 UI 框架方面的经验(我了解每个线程的职责、事件循环、事件处理层次结构等。
当我尝试配置我的应用程序时,我遇到了设置 CDialog 窗口不断失去焦点的问题。我还有一个文件浏览器对话框,其行为方式完全相同。两者都由 DoModal 调用激活。
我读到这可能是因为我有两个模态对话框争夺焦点。我该如何调试呢?我可以使用什么函数来获得有用的调用堆栈,以便找到有问题的代码?有没有MFC::focusWindow(WHND window) 或者我可以拦截的东西?
【问题讨论】:
-
如果与焦点有关,请尝试远程调试而不是本地调试。这样您就不会在调试器获得焦点和对话框失去焦点之间感到困惑。
标签: c++ mfc modal-dialog