Bom dia @leandroaoa
Na verdade quero usar para fazer uma tela padrão de mensagens, poderia ser também um webbrowser pois ai já interpreta html, só teria que fazer ele ficar da mesma cor do form. Peguei uma procedure e adaptei aqui, consegui assim formatar o richedit interpretando o html, agora só vou fazer pra tratar as tags que passo, fiz com o negrito um exemplo. Abaixo tem uma tela como ficaria com o richedit e com o webbroser
procedure TForm1.ApplyStyleWhenMatchPattern(Edit: TRichEdit; const TokenStart,
TokenEnd: string);
var
StartPos, EndPos, OffSet, Len: Integer;
begin
Len:= Length(Edit.Text);
StartPos:= Edit.FindText(TokenStart, 0, Len, []);
EndPos:= Edit.FindText(TokenEnd, Succ(StartPos), Len, []);
while EndPos <> -1 do
begin
{Tirando a tag inicial}
Edit.SelStart:= StartPos;
Edit.SelLength:= Length(TokenStart);
Edit.SelText :='';
EndPos := EndPos - Length(TokenStart);
{Atribuindo estilo}
Edit.SelStart:= StartPos;
Edit.SelLength:= EndPos - StartPos;
if TokenStart = '<b>' then
Edit.SelAttributes.Style:= [fsBold];
{Tirando a tag final}
Edit.SelStart:= EndPos;
Edit.SelLength:= Length(TokenEnd);
Edit.SelText :='';
OffSet:= Succ(EndPos);
StartPos:= Edit.FindText(TokenStart, OffSet, Len, []);
EndPos:= Edit.FindText(TokenEnd, Succ(OffSet), Len, []);
end;
end;
RichEdit1.Lines.Text := '<b>Erro:</b> Forma pagamento invalida '+ #10 +'<b>Erro:</b> Forma pagamento invalida' + #10 + '<b>Erro:</b> Forma pagamento invalida';
ApplyStyleWhenMatchPattern(RichEdit1, '<b>','</b>');