Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-12-2011
Flecha Flecha is offline
Miembro
 
Registrado: nov 2006
Posts: 59
Poder: 20
Flecha Va por buen camino
Por desgracia, con TRichEdit tampoco se pueden mostrar lineas en distintos colores de fondo.
Sí se pueden mostrar textos en distintos formatos (tamaños, tipos de letra, color del texto, etc...). Pero el color del fondo del texto es igual que con TMemo, o sea, no se puede diferenciar de una linea a otra...

Claro está..., a no ser que alguien conozca algún truco...
¿Alguien sabe cómo?
Responder Con Cita
  #2  
Antiguo 21-12-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.025
Poder: 27
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¿Estás seguro, Flecha? Me suena que la propiedad "Font" tiene también un campo "Background". Ahora mismo estoy en la oficina así que no puedo comprobarlo...

Y si no fuera así, quizá en Dr. Dobbs, RemObjects o en el proyecto JEDI haya algo. (Creo que he escrito alguno de los nombres mal, ejem... :/ )
Responder Con Cita
  #3  
Antiguo 21-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Flecha Ver Mensaje
Por desgracia, con TRichEdit tampoco se pueden mostrar lineas en distintos colores de fondo.
Sí se pueden mostrar textos en distintos formatos (tamaños, tipos de letra, color del texto, etc...). Pero el color del fondo del texto es igual que con TMemo, o sea, no se puede diferenciar de una linea a otra...

Claro está..., a no ser que alguien conozca algún truco...
¿Alguien sabe cómo?
Hola.

No sé bién que uso pensas darle, pero si lo que buscas es resaltar un texto, línea o párrafo seleccionado, podés hacerlo de este modo:
Código Delphi [-]
implementation
...
uses RichEdit;

procedure TForm1.Button1Click(Sender: TObject);
var
  Format: CHARFORMAT2;
begin
  FillChar(Format, SizeOf(Format), 0);
  with Format do
  begin
    cbSize:= SizeOf(Format);
    dwMask:= CFM_BACKCOLOR;
    if ColorDialog1.Execute then
      crBackColor:= ColorDialog1.Color;
    RichEdit1.Perform(EM_SETCHARFORMAT, SCF_SELECTION, Longint(@Format));
  end;
end;
...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 21-12-2011
Flecha Flecha is offline
Miembro
 
Registrado: nov 2006
Posts: 59
Poder: 20
Flecha Va por buen camino
Ante todo, muchas gracias a los dos.

En Delphi6, que es el que yo uso (desfasado, ya sé, pero es lo que tenemos por aquí ), Font no tiene propiedad Background. Para dar distintos formatos al texto en un TRichEdit, se usa la propiedad SelAttributes, que a su vez tampoco tiene ninguna propiedad que permita cambiar el color de fondo.


Ecfisa, estoy intentando probar tu aporte, pero tengo problemas con el tipo CHARFORMAT2.
Supongo que tendrá que ver con mi versión de Delphi .


De todos modos no me vale el TRichEdit. Me explico.
Quiero hacerme un comparador de textos, de manera que tenga dos TMemos, uno al lado de otro, y al apretar un botón el programa encuentre automáticamente todas las diferencias entre ellos, dejando todas ellas bien resaltadas. Una vez localizadas las diferencias, poder actualizar uno u otro TMemo, o incluso poder editarlos.
No me vale el TRichEdit porque este componente es muy limitado a la hora de contener textos de gran tamaño.


Un saludo.
Responder Con Cita
  #5  
Antiguo 21-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Flecha.

Cita:
pero tengo problemas con el tipo CHARFORMAT2.
No tendrías que tener mayor inconveniente si incluis RichEdit en la cláusula uses:
Código Delphi [-]
uses RichEdit;
En este enlace se habla de su uso en Delphi 3...



Cita:
No me vale el TRichEdit porque este componente es muy limitado a la hora de contener textos de gran tamaño.
La capacidad de un TRichEdit es muy amplia, aunque tiene un pequeño bug: No es cierto que al ajustar la propiedad MaxLength = 0 soporta el máximo posible de caracteres. Hay que darle un valor lo suficientemente grande, al ser la propiedad MaxLength de tipo Integer, el máximo valor que admitirá es 2147483647.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 22-12-2011
Flecha Flecha is offline
Miembro
 
Registrado: nov 2006
Posts: 59
Poder: 20
Flecha Va por buen camino
Ok. Muchas gracias.

Desconocía lo de ese bug, así que volveré a usar TRichEdit una vez superado el problema con el tamaño.

Además, tu truco funciona perfecto.
Es una lástima que sólo resalte el color de fondo donde hay texto (no lo resalta en líneas vacías), pero me vale perfectamente.

Muchas gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:32:31.


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