【发布时间】:2012-09-30 06:52:43
【问题描述】:
在我的应用程序中,我有一个基本表单,其中将各种项目添加到系统菜单中,例如
AppendMenu (SysMenu, MF_SEPARATOR, 0, '');
AppendMenu (SysMenu, MF_STRING, SC_Sticky, 'Sticky');
AppendMenu (SysMenu, MF_STRING, SC_Original, 'Original');
如何为这些菜单选项添加键盘快捷键(例如 Alt-F2、Alt-F3)?
我不能使用使用加速器的标准方法(即 Alt-S 的 &Sticky),因为真正的菜单标题是希伯来语,而且加速器似乎无法在这种语言下正常工作。
【问题讨论】:
-
查看 TMenuItem.Shortcut 或 TMenuItem.SetShortcut 下的代码。它可能有你需要的东西(我自己做不到,因为我手头没有Delphi)
-
您正在寻找 InsertMenuItem
-
@DavidHeffernan:InsertMenuItem 的第四个参数是指向 MENUITEMINFO 结构的指针,该结构包含有关新菜单项的信息。但是这个结构不包含(据我所知)任何关于快捷方式的信息。
-
你是对的。我记错了。对不起。
-
呃。看起来很老派。必须使用 #9 分隔符将快捷方式文本添加到标题中。然后以基于消息的方式处理快捷方式调用。不平凡。
标签: delphi keyboard-shortcuts delphi-7