Cómo dar formato a líneas en Rich Edit usando SelText y SelStart de Delphi

El control TRichEdit Delphi es un envoltorio para un control de edición de texto enriquecido de Windows. Puede utilizar un control Rich Edit para mostrar y editar archivos RTF.

 

Mientras que puede crear una interfaz de usuario agradable "alrededor" del control Rich Edit con botones en la barra de herramientas para establecer y cambiar los atributos de visualización de texto, añadir líneas formateadas a Rich Edit programáticamente es bastante engorroso - como verá.

 

Cómo añadir líneas con formato a Rich Edit

Para crear texto en negrita a partir de una selección de texto mostrada en el control Rich Edit, en tiempo de ejecución, debe crear una sección de texto y, a continuación, establecer las propiedades de la selección en SelAttributes.

Sin embargo, ¿qué pasa si no está tratando con una selección de texto y en su lugar desea agregar (añadir) texto formateado a un control Rich Edit? Puede que piense que la propiedad Líneas se puede utilizar para añadir texto en negrita o en color a Rich Edit. Sin embargo, Líneas es una simple TStrings y sólo acepta texto sin formato.

 

No se rinda - por supuesto, hay una solución.

 

Mira este ejemplo para obtener ayuda:

 

 //richEdit1 of type TRichEdit

with richEdit1 do

begin

//move caret to end

SelStart := GetTextLen;

//add one unformatted line

SelText := 'This is the first line' + #13#10;

//add some normal font text

SelText := 'Formatted lines in RichEdit' + #13#10;

//bigger text

SelAttributes.Size := 13;

//add bold + red

SelAttributes.Style := [fsBold];

SelAttributes.Color := clRed;

SelText := 'About';

//only bold

SelAttributes.Color := clWindowText;

SelText := ' Delphi ';

//add italic + blue

SelAttributes.Style := [fsItalic];

SelAttributes.Color := clBlue;

SelText := 'Programming';

//new line

SelText := #13#10;

//add normal again

SelAttributes.Size := 8;

SelAttributes.Color := clGreen;

SelText := 'think of AddFormattedLine custom procedure...';

end;

Para comenzar, mueva el signo de intercalación al final del texto en el Rich Edit. Luego, aplique el formato antes de agregar el nuevo texto.

(0 votes)