Delphi中的Unicode表单矩形文本

时间:2013-06-19 10:42:09

标签: delphi unicode firemonkey delphi-xe4

我是Delphi&的新手在DelphiXE4编辑器中,我试图在表格上制作棋盘gui,使用x64 TRectangle作为棋盘(替代颜色)。我想添加unicode国际象棋棋子,但是当我添加unicode时,它会在ObjectInspector属性中逐字地显示在表单上。如何将Unicode添加到TText(因此表单将unicode显示为棋子)? (之后我想将dragndrop添加到TRectangles / unicode国际象棋 - 任何想法?)。

Rectangle63: TRectangle;
Rectangle64: TRectangle;
Text1: TText;
Text2: TText;

以下是显示问题的屏幕截图: DelphiXe4 FMX TRectangle TText Unicode char not displaying

我非常感谢你的帮助,谢谢

编辑: Jeroen的答案为我解决了这个问题(我将实际的unicode棋子图像复制/粘贴到TText文本属性中)。到目前为止我添加了exe的截图。接下来我想为这些作品添加DRAGNDROP ......

DelphiXe4 FMX Trectangle TText Unicode Chessboard correct

EDIT2: (Jeroen字体大小问题已修复) 固定unicode黑色王显示 - 见截图: Fixed unicode black king display

1 个答案:

答案 0 :(得分:3)

Unicode Chess Pieces可以显示在任何Delphi应用程序中,前提是您喜欢包含代表GlyphsCodePoints中各种UnicodeChess Pieces

  

实际上,平台或开发环境无关紧要   你使用,只要它们支持Unicode并且你有正确的字体。

你需要:

  1. 输入这些Unicode CodePoints的方法
  2. 在目标平台上将这些Unicode CodePoints表示为字形的字体
  3. 从最后开始,对于Microsoft Windows,这些字体可以正常工作:

    为了输入这些,Microsoft Windows有两种方法:

    1. 如果您在注册表中启用它:通过键盘上的hexadecimal输入Alt-codes Unicode CodePoint号码
    2. copy/paste来自提供文字的应用程序(即Unicode Input: Selection from Screen
    3. 对于复制/粘贴,我经常使用支持Unicode的Web Browser转到包含正确字符的网页,或使用Character Map应用程序搜索它们。

      使复制/粘贴更容易:

      • 这些是白色的:♔♕♖♗♘♙
      • 这些是黑色的部分:♚♛♜♝♞♟

      示例FireMonkey表单,其中包含TText中的TTRectanglehttp://pastebin.com/中的所有部分:

      object Form1: TForm1
        Left = 0
        Top = 0
        Caption = 'Form1'
        ClientHeight = 480
        ClientWidth = 640
        FormFactor.Width = 320
        FormFactor.Height = 480
        FormFactor.Devices = [dkDesktop, dkiPhone, dkiPad]
        DesignerMobile = False
        DesignerWidth = 0
        DesignerHeight = 0
        DesignerDeviceName = ''
        DesignerOrientation = 0
        object Rectangle1: TRectangle
          Height = 50.000000000000000000
          Width = 80.000000000000000000
          object Text1: TText
            Color = claBlack
            Height = 50.000000000000000000
            Text = #9812#9813#9814#9815#9816#9817#9818#9819#9820#9821#9822#9823
            Width = 80.000000000000000000
          end
        end
      end
      

      修改

      我认为您的表单文件中存在字体大小问题。使用表单文件的文本创建一个新问题。有两种方法可以做到:

      1. 打开记事本,并在记事本中打开与您的表单一起的.FMX文件;将文本复制到剪贴板
      2. 在Delphi中,右键单击表单,然后选择"查看为文本",选择所有文本并将其复制到剪贴板,右键单击表单文本,然后选择"查看为表单& #34;
      3. 将代码粘贴到https://gist.github.com/或{{3}},然后在新问题中发布该链接。在那之后你做了评论,我会看看。