如何在TMenuOption中显示希腊符号

时间:2010-11-20 21:13:17

标签: delphi unicode utf-8 character-encoding internationalization

在Delphi 2010中,我想在TMenuOption和其他类型的VCL控件中显示希腊符号(alpha,beta等)。

分配

   TEdit.Text or TMenuItem.Caption := 'Hydrogen ' + chr(945)  + ' More Text'

似乎工作正常。

我担心这可能无法在所有机器上运行。 TEdit有一个字体属性,TMenuItem没有,所以我猜它使用了一些默认的系统字体。

chr(945)是否应始终显示为希腊字母字符而不管字体?如果没有,有没有办法让我确保chr(945)总是出现在屏幕上作为字母字符而不是硬连接字体(这对系统字体来说很难......)

TIA

2 个答案:

答案 0 :(得分:3)

您也可以使用常量。源文件也是unicode,因此您可以添加任何类型的常量。请记住将源保存为unicode。

const
  alpha = 'α';
  beta  = 'β';
  gamma = 'γ';

答案 1 :(得分:1)

由于Delphi 2010是unicode,因此chr(945)始终指向相同的字符,在本例中为Greek Alpha。如果用于绘制菜单项的字体包含该字符,则此字符将正确显示。除了问号之外,不存在绘制其他字符的风险,如果字体不包含特定字符,则通常由Windows使用。

大多数Windows字体都包含常见的unicode字符(包括希腊语)。但是,用户可以选择不同的字体。您可以使用系统上安装的其他字体自行绘制菜单,但这对于通常可以开箱即用的东西来说可能是非常多的工作。