if its so necessary, you can try this using BitBtn (instead of OnClick, you can use Form OnCreate event, or if you need it realtime, Id use a timer OnTimer event):
procedure TForm1.BitBtn1Click(Sender: TObject);
var S: AnsiString;
R: TRect;
stl:TTextStyle;
begin
S:='Hello World Hello World Hello World Hello World';
BitBtn1.Glyph.Canvas.Font := BitBtn1.Font;
BitBtn1.Glyph.Width := BitBtn1.Width - 6;
BitBtn1.Glyph.Height := BitBtn1.Height - 6;
R := Bounds(0, 0, BitBtn1.Glyph.Width, BitBtn1.Glyph.Height);
BitBtn1.Caption := '';
BitBtn1.Glyph.Transparent:=false;
BitBtn1.Glyph.Canvas.Brush.Color:=clBtnFace;
BitBtn1.Glyph.Canvas.FillRect(R);
stl.Alignment:=taCenter;
stl.Wordbreak:=true;
stl.Layout:=tlCenter;
stl.SingleLine:=false;
R := Bounds(1, 1, BitBtn1.Glyph.Width-1, BitBtn1.Glyph.Height-1);
BitBtn1.Glyph.Canvas.TextRect(R,0,0,S,stl);
end;
This works for me.