Delphi 如何修改ShortcutToText函数以返回不同的numpad键结果?
函数(在Delphi7中)返回与Ctrl+Numpad 1相同的快捷键结果,如Ctrl+1Delphi 如何修改ShortcutToText函数以返回不同的numpad键结果?,delphi,delphi-7,Delphi,Delphi 7,函数(在Delphi7中)返回与Ctrl+Numpad 1相同的快捷键结果,如Ctrl+1 如何修改此函数以返回numpad键的不同结果?numpad数字键的虚拟键代码为VK\u NUMPAD0。。VK_NUMPAD9如MSDN中所述: 序数值为$60$69。VCL.菜单功能ShortcutToText不区分$30$39(正常数字键)和numpad数字键 编写这样的函数应该很简单 @TLama已经向您展示了如何改变这一点: $60..$69:Name:=Chr(WordRec(快捷方式).Lo
如何修改此函数以返回numpad键的不同结果?numpad数字键的虚拟键代码为
VK\u NUMPAD0。。VK_NUMPAD9
如MSDN中所述:
序数值为$60$69
。VCL.菜单
功能ShortcutToText
不区分$30$39
(正常数字键)和numpad数字键
编写这样的函数应该很简单
@TLama已经向您展示了如何改变这一点:
$60..$69:Name:=Chr(WordRec(快捷方式).Lo-$60+Ord('0')代码>
为此:
$60..$69:Name:='Num'+Chr(WordRec(快捷方式).Lo-$60+Ord('0')代码>numpad数字键的虚拟键代码为VK\u NUMPAD0。。VK_NUMPAD9
如MSDN中所述:
序数值为$60$69
。VCL.菜单
功能ShortcutToText
不区分$30$39
(正常数字键)和numpad数字键
编写这样的函数应该很简单
@TLama已经向您展示了如何改变这一点:
$60..$69:Name:=Chr(WordRec(快捷方式).Lo-$60+Ord('0')代码>
为此:
$60..$69:Name:='Num'+Chr(WordRec(快捷方式).Lo-$60+Ord('0')
然后使用ShortcutToText
函数并修改其行$60..$69:Name:=Chr(WordRec(ShortCut).Lo-$60+Ord('0')
类似于$60..$69:Name:=Chr(WordRec(快捷方式).Lo-$60+'Num'+Ord('0')
然后使用ShortcutToText
函数并修改其行$60..$69:Name:=Chr(WordRec(ShortCut).Lo-$60+Ord('0')
类似于$60..$69:Name:=Chr(WordRec(快捷方式).Lo-$60+'Num'+Ord('0')代码>请注意,您可能需要修改TextToShortCut
,因为除非您修改VCL源代码,否则“菜单”中的菜单将不会使用您修改的ShortCutToText
版本。这是真的,如果您希望它以两种方式工作,您还必须使用自定义的TextToShortCut
。请注意,您可能需要修改TextToShortCut
,因为“菜单”中的一个不会使用修改后的ShortCutToText
版本,除非您修改VCL源代码。这是事实,如果您希望它以两种方式工作,您还必须使用自定义TextToShortcut
。