2

在Delphi 2010中,我想在TMenuOption和其他類型的VCL控件中顯示希臘符號(alpha,beta等)。如何在TMenuOption中顯示希臘符號

分配

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

似乎很好地工作。

我擔心這可能不適用於所有機器。 TEdit有一個字體屬性,TMenuItem沒有,所以我猜它使用了一些默認的系統字體。

不管字體如何,chr(945)總是顯示爲希臘字母字符?如果沒有,我有什麼辦法可以確保chr(945)總是出現在屏幕上,而不是硬接線字體(這對於系統字體很難做到),因此字母字符總是出現在屏幕上......

TIA

回答

1

由於Delphi 2010是unicode,chr(945)總是指向相同的字符,在這種情況下是希臘字母。如果用於繪製菜單項的字體包含該字符,則該字符將正確顯示。不存在另一個字符被繪製的風險,除了可能用於問號的問題,如果字體不包含特定字符,則該問號通常由Windows使用。

大多數Windows字體確實包含常見的unicode字符(包括希臘字母)。用戶可能可以選擇其他字體。您可以使用系統上安裝的其他字體自行繪製菜單,但對於通常可以使用的東西來說,這可能是一項可怕的工作。

3

你也可以使用常量。源文件也是unicode,因此您可以添加任何類型的常量。只要記得將源代碼保存爲unicode。

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

這是對的,但這不是問題。 chr(945)和'α'都返回相同的字符,這兩個字符在菜單標題中使用時可能會遇到問題。 – GolezTrol 2010-11-21 10:18:07

+0

謝謝,Gamecat,爲suggstion。正如GolezTrol所說,這不完全是我的問題。我的首選是不在國際字符嵌入我的單位,因爲我有一些較舊的公用事業處理不好。 – RobertFrank 2010-11-21 17:34:13