带有NumPad数字的Delphi快捷方式

带有NumPad数字的Delphi快捷方式,delphi,shortcut,numpad,Delphi,Shortcut,Numpad,我正在尝试用Delphi10构建主菜单。当我将菜单项快捷方式设置为“0”(主键盘)时,它工作正常,看起来像“项目0”。所以,当我试图将快捷方式设置为“Num 0”时,它也可以正常工作,但是,它看起来像前面的“Item 0”。我怎样才能“告诉”用户他必须按NumPad0键(而不是主键盘零点)?正如维多利亚在对主要问题的评论中所述,没有切实可行的方法来实现这一点(当然,您可以在质量门户网站上发信号) 但是,您可以自己将TMainMenu.OwnerDraw设置为True并在TMenuItem级别处理

我正在尝试用Delphi10构建主菜单。当我将菜单项快捷方式设置为“0”(主键盘)时,它工作正常,看起来像“项目0”。所以,当我试图将快捷方式设置为“Num 0”时,它也可以正常工作,但是,它看起来像前面的“Item 0”。我怎样才能“告诉”用户他必须按NumPad0键(而不是主键盘零点)?

正如维多利亚在对主要问题的评论中所述,没有切实可行的方法来实现这一点(当然,您可以在质量门户网站上发信号)

但是,您可以自己将
TMainMenu.OwnerDraw
设置为
True
并在
TMenuItem
级别处理
OnDrawItem
OnAdvancedDrawItem
来绘制菜单项

根据菜单的复杂性,这应该不会太难,并且您只能处理有问题的项目的事件(如果您不处理某个项目的事件,则应自动绘制该项目)


如果您希望创建一个新的继承组件,您应该重写
AdvancedDrawItem
方法。

它位于
TMenuItem.AppendTo
方法的深处,特别是
ShortcutText
函数调用,它将此类快捷方式文本追加到
标题中。