Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   texto con formato en richedit (https://www.clubdelphi.com/foros/showthread.php?t=59515)

voldemmor 29-08-2008 16:42:01

texto con formato en richedit
 
Hola amigos.

Un saludo a todos y espero que esten bien.

Bueno la razon de mi mensaje.

Uso D6 en un Richedit ingreso un texto dandole el formato de un documento dado.

Código Delphi [-]
 
RE.lines.add('texto del documento')

pero lo que necesito es colocar algunas partes de este documento en negritas, subrayadas y con letra mayor.

ejemplo
Código Delphi [-]
texto del documento
algo asi.

he visto en los foros que se lo hace mediante una propiedad
Código Delphi [-]
 selattribute
o algo asi (este momento no lo recuerdo), pero lo hacen para cambiar el formato de un testo seleccionado con el raton.

agradesco de antemano su ayuda. gracias

dec 29-08-2008 17:40:04

Hola,

En realidad, y, si no recuerdo mal, "SelAttribute" no se refiere al texto seleccionado únicamente, como pudiera parecer por el nombre, sino que hace referencia al texto seleccionado y al "posterior". Es decir, que, si hiciéramos esto, poco más o menos:

Código Delphi [-]
RichEdit.SelAttribute.Font.Color := clRed;
// Lo siguente que se escriba en el RichEdit será de color rojo

RichEdit.SelAttribute.Font.Color := clBlue;
// Lo siguente que se escriba en el RichEdit será de color azul

RichEdit.SelAttribute.Font.Color := clGreen;
// Lo siguente que se escriba en el RichEdit será de color verde

Y así sucesivamente... ;)

voldemmor 29-08-2008 23:17:17

ok
 
muchas gracias dec.
Con esta peque explicacion voy a probar y monear el codigo a ver como me va.

gracias y os comentare los resultados

o seguire pidiendo ayuda si no me va tan bien :D

voldemmor 01-09-2008 16:39:32

no va muy bien la cosa
 
hola.

ya he probado con esa linea de codigo.
Código Delphi [-]
 
RichEdit.SelAttribute.Font.Color := clGreen;
pero la verdad no resulta tan bien la cosa: ise algo asi
Código Delphi [-]
RichEdit.SelAttribute.Font.Color := clGreen;
RichEdit.SelAttribute.Font.size := 16;
RichEdit.lines.add(`linea de texto 1`);
 
RichEdit.SelAttribute.Font.Color := clblack;
RichEdit.SelAttribute.Font.size := 20;
RichEdit.lines.add(`linea de texto 2`);
pero sigue con un solo formato y en negritas.

y cuando pruebo cambiar de formato no se cambia.
he tenido que retitar el componente y cambiarlo por otro nuevo(borrar de la aplicacion y poner otro).

gracias de todos modos

ezear84 27-01-2011 19:38:46

Se que es un post antiguo, pero necesitaba hacer lo mismo y en el buscador esta pagina sale en primer lugar, y como no ha sido respuesta la cuestión aprovecho para escribir como se hace lo pedido de modo que pueda ser de utilidad a quienes lo busquen.

Para añadir lineas con formato no se puede utilizar

Código Delphi [-]
RichEdit.lines.add(`linea de texto 1`);

ya que añade texto plano.
Se debe hacer del siguiente modo (y se puede crear un procedimiento para hacerlo mas sencillo):

Código Delphi [-]
{poner un richEdit1 en el formulario y un boton en el evento onclick agregar:}
 with richEdit1 do
 begin
   //si se quiere añadir la linea a lo ultimo poner:
   SelStart := GetTextLen;
   //de lo contratio usar: SelStart := 0;
 
   //añadir una linea
   SelText := 'Primera linea' + #13#10;
 
   //añadir otra linea
   SelText := 'texto con formato en richedit' + #13#10;
 
   //comenzar a cambiar el texto
   SelAttributes.Size := 13;
 
   //negrita + rojo
   SelAttributes.Style := [fsBold];
   SelAttributes.Color := clRed;
   SelText := 'Buena';
 
   //cambiamos color para el proximo texto
   SelAttributes.Color := clWindowText;
   SelText := ' Programación ';
 
   //italicas + azul
   SelAttributes.Style := [fsItalic];
   SelAttributes.Color := clBlue;
   SelText := 'en Delphi';
 
   //nueva linea
   SelText := #13#10;
 
   //texto normal otra vez
   SelAttributes.Size := 8;
   SelAttributes.Color := clGreen;
   SelText := 'Ahora podes hacer un procedimiento...';
 end;


La franja horaria es GMT +2. Ahora son las 09:10:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi