Formato de líneas en Rich Edit con SelText y SelStart de Delphi

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

Si bien puede crear una interfaz de usuario agradable "alrededor" del control Rich Edit con botones de la barra de herramientas para establecer y cambiar los atributos de visualización de texto, agregar líneas formateadas a Rich Edit mediante programación es bastante engorroso, como verá.

Cómo agregar líneas formateadas a Rich Edit

Crear negrita texto de una selección de texto que se muestra en el control Rich Edit, en tiempo de ejecución, debe crear una sección de texto y luego 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 quiere agregar (agregar) texto formateado a un control Rich Edit? Tú puedes pensar Líneas La propiedad se puede utilizar para agregar texto en negrita o de color a Rich Edit. sin embargo, Líneas es un TStrings simple y aceptará solo texto sin formato y sin formato.

No te rindas, por supuesto, hay una solución.

Mira este ejemplo para obtener ayuda:

 // richEdit1 de tipo TRichEdit con richEdit1 hacer empezar // mueve el cursor para terminar SelStart: = GetTextLen; // agrega una línea sin formato SelText: = 'Esta es la primera línea' + # 13 # 10; // agrega un texto de fuente normal SelText: = 'Líneas formateadas en RichEdit' + # 13 # 10; // texto más grande SelAttributes.Size: = 13; // agrega negrita + rojo SelAttributes.Style: = [fsBold]; SelAttributes.Color: = clRed; SelText: = 'Acerca de'; // solo negrita SelAttributes.Color: = clWindowText; SelText: = 'Delphi'; // agrega cursiva + azul SelAttributes.Style: = [fsItalic]; SelAttributes.Color: = clBlue; SelText: = 'Programación'; //nueva línea SelText: = # 13 # 10; // agrega normal nuevamente SelAttributes.Size: = 8; SelAttributes.Color: = clGreen; SelText: = 'piense en el procedimiento personalizado AddFormattedLine ...'; final; 

Para comenzar, mueva el cursor al final del texto en la Edición enriquecida. Luego, aplique el formato antes de agregar el nuevo texto.