我们有一组无模式对话框,它们是模式对话框的子级。一次只出现一个无模式对话框;其他的都是隐藏的。这由模式对话框中的元素控制。如果您想到 Windows 属性表,您就会明白。
除了 Tab 键和 Alt+char 热键外,一切正常。他们没有做他们应该做的事情,即在活动的无模式对话框中导航控件。他们只是发出哔哔声。
在正常情况下,即应用程序窗口拥有的无模式对话框,这是通过在应用程序的消息循环中调用 IsDialogMessage() 来处理的。我们不能这样做,因为这不是我们的消息循环——Windows 正在运行消息循环来为模式对话框提供服务,而我们得到的只是发送到对话框过程的消息。
我们试图想办法解决这个问题,而不必自己通过 WM_GETDLGCODE 进行所有导航。
有任何想法吗?直接的 C++ Win32 API,这些天孩子们都在使用的那些新奇的东西都没有。
TIA
附加信息:进一步调查显示,Windows 将导航键应用于主机模式对话框,而不是子无模式对话框。我们需要他们进入无模式对话框。