奇怪的弹出菜单问题

时间:2010-11-08 19:00:30

标签: delphi delphi-2009

我正在使用delphi 2009并创建了一个弹出菜单。

object PopupMenu1: TPopupMenu
  object lmm1: TMenuItem
    Caption = 'lm/m'#178
  end
end

只要弹出菜单中有“²”,它就会显示为“lm /m²(L)”。使用maManual for AutoHotKeys没有帮助...它仍然以相同的方式出现。它就像热键,因为每个菜单项都有一个新的。

“lm /m²(L)” “m /m²(M)” “am /m²(N)” “bm /m²(O)”

如果我希望(L)消失,我必须使用“lm / m2”而不是“lm /m²”吗?

在国际上使用,我仍然期望“²”会正确显示。

谢谢你的帮助!

2 个答案:

答案 0 :(得分:2)

这是我在研究/调试TMenuItem.InternalRethinkHotkeys和TMenuItem.GetAutoHotkeys的来源后设计的解决方案:

object PopupMenu1: TPopupMenu
  Left = 184
  Top = 272
  object MenuItem1: TMenuItem
    AutoHotkeys = maManual
    Caption = 'lm/m'#178
  end
end

答案 1 :(得分:0)

按住ALT键时,AutoHotKeys属性适用于键盘加速键。您所看到的是工作中的TMenuItem.ShortCut属性。对于您不想要“(#)”出现的任何项目,请确保将其设置为scNone