To bold part of the text using RichEdit
(I don’t have the component RichText
), we have to select the word we want to put in bold inside the text. For this we need to find it.
So I created a function that you pass the RichEdit
and the text you want to bold to be applied.
procedure TForm1.textoNegrito(ARichEdit: TRichEdit; ATexto: String);
var
iPosIni : integer;
begin
ARichEdit.SelStart := 0;
ARichEdit.SelLength := length(ARichEdit.Text);
//Encontra e atribui a posição inicial do texto no RichEdit
iPosIni := ARichEdit.FindText(ATexto, 0, length(ARichEdit.Text), []);
//Verifica se o texto foi encontrado
if iPosIni >= 0 then
begin
ARichEdit.SelStart := iPosIni;
ARichEdit.SelLength := length(ATexto);
// Aplica o negrito
ARichEdit.SelAttributes.style := [fsBold];
end;
end;
Its use would be something like:
...
var
vlA,vlB : string;
begin
vlA := 'teste 1';
vlB := 'teste 2';
Texto1.Text := 'A Diretora da Escola teste no uso de suas atribuições e tendo em vista a conclusão do '
+ 'Periodo I'+ ' do Curso ' + vlA
+ ', Eixo Tecnológico ' + vlB
+ ', confere o Título de ' + 'a';
textoNegrito(Texto1,vlA);
...
Reference used: https://www.devmedia.com.br/pesquisando-e-destacando-texto-no-richedit/24260