Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Crear un editor de códigos (https://www.clubdelphi.com/foros/showthread.php?t=68230)

aeff 02-06-2010 08:52:24

Crear un editor de códigos
 
Ante todos mis saludos,

Bueno, quisiera que me pudieran ayudar a construir un control para editar códigos, en el que pueda dar formato a las palabras como lo hacen los editores de códigos de los IDE de programación conocidos.

El lenguaje de programación es lo menos preciso en este momento puesto que necesito poder dibujar diferentes elementos en la edición del código, como las palabras reservadas, los comentarios entre otros. Para ser un poco más explícito, que pueda especificar los colores usados a los diferentes casos y el formato en cuanto color de los cometarios de línea simple y los de párrafos.

Intenté hacer uno en el que especifico una colección de palabras con los atributos de color, subrayado y cursividad, pero el problama fundamental está en la captura de los mensajes Copiar, Pegar, Cortar... etc, y a la hora de dibujar la selección.

He intentado hacerlo con un TMemo pero no me ha resultado fácil, de hecho no he logardo hacer nada en cuanto al dibujo.

Bueno, espero haberme explicado.

Mil garcias de antemano.
Saludos.

Neftali [Germán.Estévez] 02-06-2010 11:00:39

Si quieres hacer eso, necesitas un cmponente que soporte diferentes estilos de fuente; Debes utilizar un TRichEdit, en lugar de un TMemo.
Este componente sí te permite poner colores, negritas, subrayados,... al texto que estás editando.

Luego hay controles más avanzados que solucionan esto, como SynEdit, que es un componente pensado para editar con las diferentes sintaxis de los lenguajes. Supongo que se le podrán añadir más o definir nuevos.


La franja horaria es GMT +2. Ahora son las 11:26:27.

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