如何将 TAction 的快捷键设置为 Ctrl + Numpad 0?
How can I set a TAction's Shortcut to Ctrl + Numpad 0?
我试过这个:
actZoomReset.ShortCut := TextToShortCut('Ctrl+Num 0');
但这没有任何作用 (ShortCut = 0)。
编辑:
如果我尝试直接在快捷方式 属性 中设置 IDE (Ctrl+Num 0) 中的值,我会收到错误消息:“属性 值无效” .如果我双击快捷方式 属性,然后按“Ctrl”和“Numkey 0”,它会在热键编辑中显示“Ctrl+Num 0”,当我按回车键时,它会显示“Ctrl+Ins” " 在快捷方式字段中。
实际上
actZoomReset.ShortCut := TextToShortCut('Ctrl+Ins');
会起作用的。那么我的问题就变成了,这是否适用于其他键盘,或者这是我自己的键盘的一个怪癖?我使用的是罗技 G213。小键盘 0 下面有“Ins”。
我在 Windows 10
上使用 Delphi 10.2
最简单的方法是在设计时使用 Object Inspector 设置动作的快捷方式:
但是如果你需要以编程方式设置这个属性,你可以这样做
actZoomReset.ShortCut := ShortCut(VK_NUMPAD0, [ssCtrl])
(通常情况下,不需要在运行时调整动作的非状态属性。状态属性为Visible
、Enabled
和Checked
。)
关于您的修改:
听起来你不小心关闭了 NUM LOCK。当 NUM LOCK 为 ON(默认)时,0/INS 键表示 0。当 NUM LOCK 关闭时,表示 INS。
要打开 NUM LOCK,请按红色圆圈中的键。当 NUM LOCK 打开时,绿色圆圈中的 LED 会亮。
我试过这个:
actZoomReset.ShortCut := TextToShortCut('Ctrl+Num 0');
但这没有任何作用 (ShortCut = 0)。
编辑:
如果我尝试直接在快捷方式 属性 中设置 IDE (Ctrl+Num 0) 中的值,我会收到错误消息:“属性 值无效” .如果我双击快捷方式 属性,然后按“Ctrl”和“Numkey 0”,它会在热键编辑中显示“Ctrl+Num 0”,当我按回车键时,它会显示“Ctrl+Ins” " 在快捷方式字段中。
实际上
actZoomReset.ShortCut := TextToShortCut('Ctrl+Ins');
会起作用的。那么我的问题就变成了,这是否适用于其他键盘,或者这是我自己的键盘的一个怪癖?我使用的是罗技 G213。小键盘 0 下面有“Ins”。
我在 Windows 10
上使用 Delphi 10.2最简单的方法是在设计时使用 Object Inspector 设置动作的快捷方式:
但是如果你需要以编程方式设置这个属性,你可以这样做
actZoomReset.ShortCut := ShortCut(VK_NUMPAD0, [ssCtrl])
(通常情况下,不需要在运行时调整动作的非状态属性。状态属性为Visible
、Enabled
和Checked
。)
关于您的修改:
听起来你不小心关闭了 NUM LOCK。当 NUM LOCK 为 ON(默认)时,0/INS 键表示 0。当 NUM LOCK 关闭时,表示 INS。
要打开 NUM LOCK,请按红色圆圈中的键。当 NUM LOCK 打开时,绿色圆圈中的 LED 会亮。