我在我的Visual C++项目中使用VK_OEM_MINUS作为菜单加速器,当我在QWERTY键盘上按下"-/_“键时,它工作得很好。
但是当我使用法语键盘布局时,它不能工作。在法语布局中,"-“被放在"6”键上,看起来它使用了其他键代码。
我想知道如何在AZERTY键盘上使用减号键?我正在寻找一种不需要重新分配快捷键就可以重用代码的方法。我更喜欢在任何键盘上使用减号作为快捷键。
更新:我已经尝试使用ASCII而不是虚拟密钥:"-", ID_MENUITEM, ASCII, NOINVERT,但是什么都没有发生,它仍然不能工作。(Win7,MSVC2010)
更新:更改了笔记本,并使用了Win7和MSVC2008 - ASCII加速器现在可以工作了,但看起来我不能通过加速表处理Ctrl+,Shift+(-)组合。
更新:看起来VK_OEM_MINUS (0xBD)对于法语键盘布局根本不存在,而且它不能由法语键盘生成。
发布于 2012-10-05 19:44:33
这只是我应用的一个快速解决方案,因为我既不想为AZERTY键盘使用其他加速器,也不想实现用户定义的加速器。
由于VK_OEM_MINUS不能在AZERTY键盘上生成,我通过在按下VK_KEY_6时发布(WM_KEYDOWN,VK_OEM_MINUS)来伪造一个按键(仅适用于AZERTY)。
https://stackoverflow.com/questions/12634190
复制相似问题