-2

在我的 MFC 应用程序中,第一次按F10时,快捷键起作用。但是对于随后的按F10,没有任何反应。我第一次看到使用pMsg->lParam包含0x440001的调试视图。从第二次开始pMsg->lParam包含0x10440001

4

1 回答 1

2

F10由 Windows 特殊处理。当您按下F10时,焦点将进入菜单,然后您可以使用箭头键在菜单中导航。这种行为可以追溯到 Windows 3(甚至更远)。您的问题可能与此有关。

打开记事本,按下F10然后使用箭头键,你会看到会发生什么。

我制作了一个非常简单的 MFC 应用程序(使用 Visual Studio 2010),如果我为该F10键创建一个快捷方式,MFC 似乎会处理所有事情,并且该F10键会启动命令,所以它不起作用很奇怪在您的 MFC 应用程序中。如果我从加速器中从 F10 中删除,则F10再次像在记事本中一样。

尝试替换F10快捷方式F11,看看问题是否消失。如果不是,原因可能是无关的。

于 2013-02-12T14:45:38.800 回答