Delphi 带有小键盘数字的快捷方式

Delphi ShortCuts with NumPad Numbers

我正在尝试使用 Delphi 10 构建主菜单。当我将菜单项 ShortCut 设置为“0”(主面板)时 - 它工作正常并且看起来像 "Item 0"。因此,当我尝试将快捷方式设置为 "Num 0" - 它也工作正常,但是,它看起来像以前的 "Item 0"。我如何 "tell" 用户必须按 NumPad0(而不是主键盘零)?

正如 Victoria 在对主要问题的评论中所说,没有切实可行的方法来实现这一点(您当然可以在 https://quality.embarcadero.com 的质量门户中发出信号)。

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

根据菜单的复杂性,这应该不会太困难,您可以只处理有问题的项目的事件(如果您不处理项目的事件,它应该自动绘制)。

如果您更喜欢创建新的继承组件,您应该改写 AdvancedDrawItem 方法。