使用混合托管/非托管C ++(Visual Studio 2008)我正在从DirectX应用程序打开一个Windows窗体子窗口。确实是奇怪的东西,但它主要起作用。如果我使用showDialog()
,子窗口可以正常工作,但很明显主应用程序停止运行(直到孩子关闭)。如果我使用show()
生活是好的,但孩子有微妙的问题。例如,文本框可以工作并接受输入,但您不能再使用 Tab 键移动到不同的控件。助记符( Alt + hotkey)也已停止工作。
我是一个巨大的键盘快捷键,所以这很烦人。更糟糕的是,我甚至不确定如何谷歌这个问题。任何帮助将不胜感激。
答案 0 :(得分:1)
要解决Tab键问题,请使用单独的线程创建对话框并调用showDialog(),或在主消息循环中调用IsDialogMessage。