If you want to be able to edit the text you should use one of the rich-edit controls, such as TRichMemo, or KMemo (in KControls), all available in the Online-Package-Manager.
If you only want to display the text, without being able to edit it, you could also use the TIpHtmlPanel which is installed by default in Lazarus and can be dropped from the "Ipro" component palette:
procedure TForm1.Button1Click(Sender: TObject);
const
TXT = 'This is <b>bold</b>, <i>italic</i>, <u>underlined</u> and <font color="red">red</font> text';
begin
IpHtmlPanel1.SetHtmlFromStr('<html>' + TXT + '</html>');
end;