TLabel部分字体大小

时间:2014-11-14 16:25:35

标签: delphi

我不知道,但如果可能的话,我怎样才能部分更改Tlabel字体大小?

我想要的是什么:
enter image description here
这是我的代码:

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

请不要建议使用2个标签合并它,我必须使用一个标签,但我找不到如何逐个改变字符大小或颜色?

1 个答案:

答案 0 :(得分:2)

标准TLabel不允许使用不同的字体。第三方组件包中有一些这样的组件(任意示例 - 来自TMS的TRTFLabel)。

但是你可以使用例如小TImage,并在其上Canvas使用不同的样式绘制文本(失去一些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');