Ctrl + - (Ctrl + Hyphen-Minus)作为ShortCut键?

And*_*and 5 delphi winapi keyboard-shortcuts zoom keycode

使用Ctrl+ +,Ctrl+ -Ctrl+ 0作为应用程序放大,缩小和恢复默认缩放(通常为100%)操作的快捷方式似乎很自然.现在,在Delphi中,我可以将Ctrl+ +Ctrl+ 指定0为快捷方式.但前者要求使用键盘主要部分的加号; 不能使用数字键盘的加号.

但是,当我想将Ctrl+ 指定-为快捷方式时,会出现问题.它根本不起作用.如果我在IDE中指定"Ctrl + - ",则存储在ShortCut属性中的值为16495.如果我们ssCtrl从中减去,我们得到111.人们会相信,解决方法是分配ShortCut := 45 + ssCtrl,或者等同于ShortCut := Menus.ShortCut(45, [ssCtrl]),因为ord('-') = 45.但这不起作用.

但是,我找到了一个有效的解决方案:ShortCut := 189 + ssCtrl.我选择189,因为这是我按下" - "键并听取KeyDown事件时收到的数字.

那么,为什么我对此不满意?好吧,我担心常数189只对瑞典键盘有效.我试图阅读这个,并且,像往常一样,MSDN文档相当清楚,但是,谁知道Delphi如何处理事情.

Rob*_*edy 6

密钥代码189 VK_OEM_MINUSWindows.pas中,因此您的解决方案不仅适用于瑞典人.