2014-11-14 59 views
0

我不知道,但如果可能,我怎樣才能改變Tlabel字體大小的一部分?TLabel部分字體大小

我想要什麼:
enter image description here
這裏是我的代碼:

var 
    lbl : TLabel; 
    str : String; 
begin 
    str:= 'HELLO WORLD'; 
    lbl.Text:= str; 
end; 

請不要建議使用2標籤進行合併,我必須使用一個標籤,但我怎麼也找不到我可以按字符更改尺寸或顏色嗎?

回答

2

標準TLabel不允許使用不同的字體。第三方組件包中有一些這樣的組件(任意示例 - 來自TMS的TRTFLabel)。

但是,你可以使用,例如,小TImage,並在它的Canvas上繪製文本與不同的風格(失去像autosize一些TLabel的可能性)。

var 
    w, h: Integer; 
begin 
    Image1.Canvas.Font.Size := 12; 
    h := Image1.Canvas.Font.Height; // in pixels 
    Image1.Canvas.TextOut(0, 20 + h, 'Big'); 
    w := Image1.Canvas.TextWidth('Big'); 
    Image1.Canvas.Font.Size := 8; 
    h := Image1.Canvas.Font.Height; // in pixels 
    Image1.Canvas.Font.Style := Image1.Canvas.Font.Style + [fsBold]; 
    Image1.Canvas.TextOut(W, 20 + h, 'SmallBold'); 
+0

你能給我一個關於繪製畫布的例子嗎?還是有沒有免費的組件? – 2014-11-14 16:40:56

+2

我喜歡在圖像控件上使用一個顏料盒 – 2014-11-14 16:53:43

+0

@David Heffernan對於初學者來說,(大部分)靜態圖片的Timage使用看起來更簡單 - 無需關心Paint處理器並記住文本和格式。 – MBo 2014-11-14 17:10:17