如何修改 ShortcutToText 函数以返回不同的小键盘键结果?

Pro*_*020 1 delphi delphi-7

该函数(在 Delphi 7 中)对于+等快捷方式返回与+ShortcutToText相同的结果。Ctrl1CtrlNumpad 1

如何修改此函数以返回数字键盘键的不同结果?

Jen*_*off 5

小键盘数字键的虚拟键代码VK_NUMPAD0 .. VK_NUMPAD9如 MSDN 中所述:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx

序数值是$60 .. $69。该VCL.Menus函数ShortcutToText不区分$30 .. $39(普通数字键)和小键盘数字键。

编写一个可以做到这一点的函数应该很简单。

@TLama 已经向您展示了如何更改此设置:

$60..$69: Name := Chr(WordRec(ShortCut).Lo - $60 + Ord('0'));

进入这个:

$60..$69: Name := 'Num' + Chr(WordRec(ShortCut).Lo - $60 + Ord('0'));