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

时间:2014-09-02 13:56:08

标签: delphi delphi-7

ShortcutToText函数(在Delphi 7中)返回与 Ctrl + 1 等快捷方式相同的结果,如 Ctrl + Numpad 1

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

1 个答案:

答案 0 :(得分:4)

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

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

序数值为$60 .. $69VCL.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'));