在Delphi 2010中,我想在TMenuOption和其他类型的VCL控件中显示希腊符号(alpha,beta等)。
分配
TEdit.Text or TMenuItem.Caption := 'Hydrogen ' + chr(945) + ' More Text'
似乎工作正常。
我担心这可能无法在所有机器上运行。 TEdit有一个字体属性,TMenuItem没有,所以我猜它使用了一些默认的系统字体。
chr(945)是否应始终显示为希腊字母字符而不管字体?如果没有,有没有办法让我确保chr(945)总是出现在屏幕上作为字母字符而不是硬连接字体(这对系统字体来说很难......)
TIA
答案 0 :(得分:3)
您也可以使用常量。源文件也是unicode,因此您可以添加任何类型的常量。请记住将源保存为unicode。
const
alpha = 'α';
beta = 'β';
gamma = 'γ';
答案 1 :(得分:1)
由于Delphi 2010是unicode,因此chr(945)始终指向相同的字符,在本例中为Greek Alpha。如果用于绘制菜单项的字体包含该字符,则此字符将正确显示。除了问号之外,不存在绘制其他字符的风险,如果字体不包含特定字符,则通常由Windows使用。
大多数Windows字体都包含常见的unicode字符(包括希腊语)。但是,用户可以选择不同的字体。您可以使用系统上安装的其他字体自行绘制菜单,但这对于通常可以开箱即用的东西来说可能是非常多的工作。