如何将TAction的快捷方式设置为Ctrl+Numpad0?

我试过这个:

actZoomReset.ShortCut := TextToShortCut('Ctrl+Num 0');

但这没有任何作用(ShortCut = 0)。

编辑:

如果我尝试在 IDE (Ctrl+Num 0) 中直接在 ShortCut 属性中设置值,则会收到错误消息:“无效的属性值”。如果我双击 Shortcut 属性,然后按“Ctrl”和“Numkey 0”,它会在热键编辑中显示“Ctrl+Num 0”,当我按 Enter 时,它会在 ShortCut 中显示“Ctrl+Ins”场地。

实际上

actZoomReset.ShortCut := TextToShortCut('Ctrl+Ins');

将工作。然后我的问题就变成了,这是否适用于其他键盘,还是我自己的键盘的一个怪癖?我正在使用罗技 G213。小键盘 0 下面有“Ins”。

我在 Windows 10 上使用 Delphi 10.2

回答

最简单的方法是在设计时使用Object Inspector设置操作的快捷方式:

但是如果你需要以编程方式设置这个属性,你可以这样做

actZoomReset.ShortCut := ShortCut(VK_NUMPAD0, [ssCtrl])

(通常情况下,没有必要在运行时调整的动作的非国家性质。该状态特性VisibleEnabledChecked)。

关于您的编辑:

听起来您不小心关闭了 NUM LOCK。当 NUM LOCK 为 ON(默认)时,0/INS 键表示 0。当 NU​​M LOCK 关闭时,表示 INS。

要打开 NUM LOCK,请按红色圆圈中的键。当 NUM LOCK 打开时,绿色圆圈中的 LED 将亮起。


以上是如何将TAction的快捷方式设置为Ctrl+Numpad0?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>