使用CREATE方法的cdialog应用程序时,键盘选项卡不起作用,但与DOMODAL一起工作正常

时间:2013-04-24 05:12:03

标签: visual-c++ mfc

我有一个MFC应用程序。有一个CBUTTON。我在CBUTTON上点击了编写代码创建CDialog。如果我使用DOMODAL方法创建cdialog然后键盘选项卡工作正常但如果我使用CREATE方法然后键盘选项卡不工作。

1 个答案:

答案 0 :(得分:2)

您可能没有调用IsDialogMessage,这是确保无模式对话框正确处理键盘输入所必需的。

对于模态对话框(即通过调用DoModal方法创建的对话框),这不是必需的,因为Windows会在内部处理它。

但是,作为一种解释,这并没有多大意义,因为您正在使用MFC,这应该确保在无模式对话框的消息循环中调用IsDialogMessage。这就是使用框架的全部意义:它让您不会忘记这样的细节。我无法猜到为什么它不适合你;你没有向我们展示任何代码。请注意,Visual Studio向导会自动为您编写正确的代码。建议您在向应用添加新对话框时使用它们。

Joseph Newcomer关于Creating a Modeless Dialog Box with MFC的文章可能对你有帮助。