Странная проблема с всплывающим меню - PullRequest
1 голос
/ 08 ноября 2010

Я использую Delphi 2009 и создал всплывающее меню.

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

как только во всплывающем меню появится «²», оно будет отображаться как «лм / м² (л)». использование maManual для AutoHotKeys не помогает ... все равно выглядит так же. это как горячие клавиши, потому что каждый пункт меню получает новый.

"лм / м² (л)" "м / м² (м)" «am / m² (N)» «Бм / м² (O)»

Должен ли я использовать «лм / м2» вместо «лм / м2», если я хочу, чтобы (L) ушел?

используется на международном уровне, я все еще ожидаю, что "²" будет отображаться правильно.

спасибо за вашу помощь!

Ответы [ 2 ]

2 голосов
/ 10 ноября 2010

вот решение, которое я разработал после изучения / отладки источника TMenuItem.InternalRethinkHotkeys и TMenuItem.GetAutoHotkeys:

object PopupMenu1: TPopupMenu
  Left = 184
  Top = 272
  object MenuItem1: TMenuItem
    AutoHotkeys = maManual
    Caption = 'lm/m'#178
  end
end
0 голосов
/ 09 ноября 2010

Свойство AutoHotKeys применяется к ускорителям клавиатуры, когда нажата клавиша ALT.Вместо этого вы видите свойство TMenuItem.ShortCut на работе.Убедитесь, что он установлен на scNone для любого элемента, который не должен отображаться "(#)".

...