FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
richedit
Hola,
tengo un componente richedit, en el que el usuario escribe la descripcions de X cosa, quisiera que el usuario puediera configurar el formato de lo que escribe, es decir, cambiarle el color, el tipo de letra ponerlo en negrita, subrayarlo, cursiva, y sobre todo que lo pueda alinearlo a su gusto, incluyendo justificarlo como hace word. de paso lo que el usuario escribe en ese richedit tengo que guardarlo en la base de datos (mysql) en un campo que tengo longtext, y al recuperarlo para imprimirlo mediante un qreport quiero que tenga la configuracion que el usuario eligio. he usado las funciones Código Delphi [-]selstart; sellength; selattribute; que me han funcionado bien, pero no se como hacer todo eso que me quiero, ya logre cambiar el tipo de letra, que el usuario escoje desde un combobox, pero no le logrado cambiar el color que el usuario escoje del combobox porque los tipos son incompatibles (tcaption and tcolor), no se cual atributo es el que me permite colocar el texto, negrita, subrayado y cursiva, ademas que solo me permite alinear a la izquierda, derecha y centro (no me deja justificar) y como hago para cuando lo guarde en la base de datos y lo recupero venga con el formato que escogio el usuario se que pregunto mucho pero estoy aprendiendo a penas |
#2
|
|||
|
|||
respondo el post, porque no puedo editar el anterior
ya se como cambiarle e, color, la letra, ponerlo en negrita, subrayado y cursiva pero aun no se como justificarlo, y busco aqui en el foro y en la web y no encuentro nada concreto, sera que no se puede?, tampoco logro nada con la base de datos |
#3
|
||||
|
||||
hola yossi.
Usá la propiedad Paragraph del TRichEdit. Ejemplo: Código:
procedure TForm1.ComboBox1Change(Sender: TObject); begin case ComboBox1.ItemIndex of 0:RichEdit1.Paragraph.Alignment:= taLeftJustify; 1:RichEdit1.Paragraph.Alignment:= taRightJustify; 2:RichEdit1.Paragraph.Alignment:= taCenter; end; end; En cuanto a tipo, color, estilo, etc. Podes hacer por ejemplo: Código:
procedure TForm1.Button1Click(Sender: TObject); begin if FontDialog1.Execute then begin RichEdit1.SelAttributes.Color:= FontDialog1.Font.Color; RichEdit1.SelAttributes.Style:= FontDialog1.Font.Style; RichEdit1.SelAttributes.Name:= FontDialog1.Font.Name; RichEdit1.SelAttributes.Size:= FontDialog1.Font.Size; end; end;
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#4
|
|||
|
|||
gracias por la respuesta, pero de casualidad tambien sabras como puedo hacer con lo de la base de datos,
revisando el foro encontre esto http://www.clubdelphi.com/foros/showthread.php?t=39524 pero no me esta funcionando bien |
#5
|
||||
|
||||
Busca en el foro y encontraras una funcion para justificar en Richedit, yoo trabajo con ella si no la encuentras, dimelo y te la busco en casa, por cierto si no recuerdo mal tambien es posible cambiar el color de fondo de una parte del texto por si quieres destacar algo.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#6
|
|||
|
|||
encontre esta funcion aca en el foro, no se si te refieres a esta que mencionan en este hilo
http://www.clubdelphi.com/foros/showthread.php?t=162 tambien encontre en otro hilo que mencionaban un componente "justifyrichedit" lo descargue de aqui http://www.programmersheaven.com/dow.../download.aspx para justificar funciona, tengo que probar las demas opciones |
#7
|
|||
|
|||
el componente "justifyrichedit" es un richedit pero con la opcion de justificar el texto. ese problema ya esta resuelto gracias al foro y a ustedes
pero ahora tengo otra dificultad dentro de la misma tengo un boton mediante el cual el texto seleccionado se coloca en negrita, igualmente ento botones para el subrayado, hacer que el texto se coloque en negrita o en subrayado ya lo hice, el problema esta en quitarle la negrita a un texto sin quitarle el subrayado, no hallo la manera de acceder a la propiedad fsbold del style directamente para colocarlo en false y asi mantener el subrayado. alguna idea? |
#8
|
||||
|
||||
Hola yossi.
Si utilizas un TButton podrías usar algo como este código: Código:
procedure TForm1.btNegritaClick(Sender: TObject); begin with RichEdit1.SelAttributes do if fsBold in Style then Style:= Style - [fsBold] else Style:= Style + [fsBold]; end; Mejor sería usar un TPopupMenu con los items: Negrita, Subrayado e Itálica. Asignar el PopupMenu al TRichEdit y poner en el evento OnClick del TMenuItem lo siguiente: Código:
procedure TForm1.Negrita1Click(Sender: TObject); begin Negrita1.Checked := not Negrita1.Checked; with RichEdit1.SelAttributes do if Negrita1.Checked then Style:= Style + [fsBold] else Style:= Style - [fsBold]; end; Tendrías que hacer lo mismo con Subrayado e Itálica. ([fsUnderline], [fsItalic]) Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-05-2010 a las 04:07:59. |
#9
|
|||
|
|||
Hola foro....
bueno yo trabajo con el delphi 6 y en los demos viene un buen ejemplo de trabajo con RichEdit... no se si en otras versiones de delphi aparece este demo... bueno sin mas Mystery |
#10
|
||||
|
||||
Te pongo el código que uso para lo siguiente
Espero os sirva
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#11
|
||||
|
||||
Hola José Luis.
Yo también tenía por algún lado esa rutina ... y buscando la encontré. Y como suelo copiar y pegar las url, la saque de aqui :http://www.swissdelphicenter.ch/en/showcode.php?id=1438 Como detalle, agrego que hay que agregar Código:
uses RichEdit; Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#12
|
|||
|
|||
muchisimas gracias a todos, ya he podido hacer todo lo que queria con mi richedit, las ideas que me dieron fueron muy buenas, tome un poco de cada uno para lograr mi objetivo
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
RTF en Richedit | f_cbuilder6 | C++ Builder | 0 | 20-05-2007 19:08:20 |
Parte de un RichEdit a otro RichEdit (donde esté el cursor) | Tomy | Varios | 3 | 21-12-2005 21:08:15 |
RichEdit | ivet | OOP | 1 | 26-06-2005 20:47:38 |
Tab en RichEdit | Sonic | C++ Builder | 8 | 23-11-2004 12:40:05 |
RichEdit. | Tonio | Varios | 1 | 25-06-2003 19:50:04 |
|