【问题标题】:Windows C++ child window unresponsiveWindows C++ 子窗口无响应
【发布时间】:2013-10-29 00:52:08
【问题描述】:

使用混合托管/非托管 C++ (Visual Studio 2008) 我正在从 DirectX 应用程序打开一个窗口窗体子窗口。确实很奇怪,但大多数情况下它都有效。如果我使用showDialog(),子窗口可以完美运行,但显然主应用程序会停止运行(直到子窗口关闭)。如果我使用show() 生活是好的,但孩子有微妙的问题。例如,文本框可以工作并接受输入,但您不能再使用 Tab 键移动到不同的控件。助记符(Alt+热键)也已停止工作。

我是键盘快捷键的忠实粉丝,所以这很烦人。更糟糕的是,我什至不知道如何谷歌这个问题。任何帮助将不胜感激。

【问题讨论】:

  • 要解决选项卡问题,要么使用单独的线程创建对话框并调用 showDialog(),要么在主消息循环中调用 IsDialogMessage。假设你控制它。
  • 使用单独的线程有效!没有尝试过 IsDialogMessage() 但从文档中听起来它可能也可以工作。如果您将此作为答案,我会接受。谢谢!

标签: c++ windows winforms


【解决方案1】:

要解决选项卡问题,请使用单独的线程来创建对话框并调用 showDialog(),或者在主消息循环中调用 IsDialogMessage。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多