popupmenu标题中的非拉丁字符

时间:2017-03-25 02:53:34

标签: delphi delphi-10-seattle

我在vcl应用程序中有一个简单的弹出菜单,但是当我将non-latin characters写入popup-menu Caption时,会发生一些奇怪的事情

正确写入的字符但是在标题末尾添加了(Z)这些额外的字符。只有当我在标题中输入非拉丁文字时,才会添加此字符,英文单词显示正确。

这是测试项目的dfm

object Form1: TForm1
  Left = 0
  Top = 0
  BorderIcons = [biSystemMenu]
  Caption = 'Form1'
  ClientHeight = 242
  ClientWidth = 472
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PopupMenu = PopupMenu1
  PixelsPerInch = 96
  TextHeight = 13
  object PopupMenu1: TPopupMenu
    Left = 232
    Top = 128
    object N1: TMenuItem
      Caption = #1575#1604#1604#1594#1577' '#1575#1604#1593#1585#1576#1610#1577
    end
  end
end

这是结果如何出来的图像。这个额外的(Z)我根本没有写入标题。我不知道为什么它会显示出任何原因?

enter image description here

1 个答案:

答案 0 :(得分:6)

TPopupMenu尝试自动为每个菜单项设置一个热键(如果你没有使用& char手动设置)。如果您想避免此行为,可以将PopupMenu.AutoHotkeys属性值更改为maManual