![]() |
Lazarus y Texto enriquecido (o formateado)
Hola a todos:
Estoy trabajando en un proyecto personal. En la aplicación quiero usar texto enriquecido. El problema es que al momento de empezar, me encontré con la sorpresa que Lazarus no posee un RichText como en Delphi. Pero buscando encontré un LCL llamado RichMemo. Ya he logrado cargar un archivo RTF al control a través de un Stream y funciona (muestra el texto con formato, incluso caracteres japoneses). Lo que no puedo hacer es agregar o aplicar un texto con formato. La función para agregar o aplicar un formato a un texto es la siguiente:
Más info en: wiki.lazarus.freepascal.org/RichMemo Existe muy poca documentación del control e info en la red, así que necesito que alguien más experimentado en Lazarus/FreePascal me ayude con este control. Pero también estaba pensando en una alternativa, como HTML. El problema es que no conozco un control que me permita "renderizar" código HTML. El único que me llama la atención es el control "IpHtmlPanel", pero no sé cómo usarlo. Disculpen por la extensión del hilo, pero estoy un poco frustrado ya que tenía tantas esperanzas en desarrollar una aplicación estable y 100% funcional en Lazarus/FreePascal. Espero su comprensión y ayuda. Saludos. |
¿Has visto la pestaña SynEdit?, creo que ahí encontrarás lo que buscas.
Aquí tienes un ejemplo, usando un SynMemo y un SynHtmlSyn: ![]() |
Cita:
Esos controles crean o muestran códigos fuentes. Lo que yo quiero es un control que visualize un documento HTML. Que actúe de igual forma como al cargar un documento RTF, pasando el contenido a través de un Stream. La imagen está en: flic.kr/p/8vtme5 (el editor de mensajes no me deja adjuntar imagen al mensaje. No estoy permitido, dice). O que me ayuden con esta función del control RichMemo: Porque al usar esta función, lo que hace es aplicar sólo Negrita en el texto. (funciona sólo el parámetro AddFontStyle). Saludos. |
Creo que lo que necesitas es el TSynEdit
|
Hola
Hay un control llamado RichMemo, tal vez sea lo que necesitas. Saludos Discúilpame, no vi que ya habías probado con el RichMemo |
¿ Que es lo que hace la aplicación ? (además de mostrar texto enriquecido)
|
Cita:
Bueno, la aplicación es un diccionario. La entrada (palabra y definición) será mostrada en un RichMemo (u otro control RTF) o un visor HTML porque es la única forma de mostrar un texto con formato, como el siguiente ejemplo: Palabra 1. sust Definición de la palabra. Véase Otra Palabra. La entrada se encuentra en una Base de datos SQLite como "{\rtf1\ansi\ansicpg1252\deff0\..." si es RTF o "<html><body><h1>..." si es HTML. La idea es pasar el texto en un Stream para que sea "renderizado" en el control. Ahora estoy probando RichMemo pero no hay mucha documentación disponible y no sé cómo usar las funciones correctamente. También estoy pensando usar otro control RTF o HTML (como GeckoPort, pero necesita las librerias XULRunner, haciendo que la aplicación sea más grande y pesada). Me explico bien? Saludos. |
Mira si te sirve este, es freeware e incluye el código fuente.
Cita:
|
Cita:
Pero... bueno, no me di por vencido: buscando y buscando, encontré la forma de aplicar formato a un texto en un control RichMemo. Primero, tengo que crear una variable de tipo FontParams. El resto es sólo aplicar.
Uff!, No ha sido fácil. Sólo espero terminar mi proyecto personal y compartirlo. Estoy ansioso. Saludos. |
|
Cita:
Bueno, igual sirve como para tener una idea. Ahora estoy avanzando con el control RichMemo. Gracias por su ayuda y atención. Saludos!. |
La franja horaria es GMT +2. Ahora son las 04:08:01. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi