FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
reflejo de un memo en otro
Existe alguna manera de que lo que haga en un memo, cada acción se pueda copiar repetir en otro memo como si fuera un reflejo? (avanzar entre líneas, ir al principio, fin, subir bajar etc?)
|
#2
|
||||
|
||||
En principio sí, pero no hay nada automático que lo haga.
¿Qué acciones desea "replicar"? Deberás utilizar eventos de OnChange, para detectar cambios en el texto, y alguno de teclas y de Mouse (OnKeyDown y OnMouseDown) para los cambios provocados por el teclado y el Mouse, que no provoquen cambios en el texto (por ejemplo seleccionar una parte). Deberías explicitar mejor qué acciones quieres "reflejar" en el segundo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
Hola sac, como te dice Neftalí deberías explicar un poco mas. A mi se me ocurre hacerlo utilizando el evento OnKeyUp:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#4
|
|||
|
|||
Les explico a los dos. Es algo muy manual y casero pero como no hay una opción en memos o richedit para darle el efecto sombra a las fuentes lo que hago es tratar de crear un memo transparente que contenga alguna fuente elegida y un segundo memo corrido unos pixeles mas abajo y mas a la derecha que copia la misma font y x defecto clara o oscura dependiendo cual se eligió en el memo 1 para contrastar pero el tema es que cuando voy bajando o subiendo leyendo el memo1 tendría que hacer lo mismo en el memo2.
Perdón me explico? en sintesis superponer dos memos y que el segundo hiciera lo mismo que el primero. Espero alguna respuesta Gracias |
#5
|
||||
|
||||
Ok, ahora he entendido lo que quieres hacer y creo que te va a dar más problemas que otra cosa, hacerlo de esta manera.
Yo optaría tal vez por interceptar el redibujado de un Memo, pero el tema de sincronizar dos, lo veo complicado por la infinidad de cosas que vas a tener que controlar; El propio cursor, selección de porciones de texto, cortar/pegar, escritura de texto,... Algunas de estas operaciones no se si te van a responder bien (tiempo aceptable), cuando el texto sea un poco grande...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#6
|
|||
|
|||
Lo bueno deésto es que no tengo que cortar y pegar, ni seleccionar... Solamente es leer y rara vez escribir o borrar... además el texto no sería muy largo en todos los casos.
Qué te parece? Ésto ayudaría? de todas maneras como le indico al segundo la acción del cursor en el primer memo o si estoy subiendo o bajando cuando leo Y que es eso del redibujado? |
#7
|
||||
|
||||
Cita:
La acción del cursor tendías que controlarla usando las propiedades SetLength, SelStart,... El problema es cuando detectar el movimiento... El tema de cuando subes y bajas líneas también es complejo y posíblemente más cuando tengas barra de scroll vertical y/o horizontal. Son muchas cosas a controlar y de manera muy fina, porque no te puede descuadrar ni un sólo caracter, de otra forma la lectura sería imposible. Con el redibujado, me refiero, a que algunas de estas operaciones sólo vas a poder controlarlas haciendo algo como esto:
Es decir, asignando TODO (o parte) del primer memo al segundo y eso cuesta de hacer; Aunque sea muy poco es posible que se vean parpadeos o efectos al escribir el texto (a eso me refiero con el "redibujado"). No e quiero desanimar, lo mejor es que hagas pruebas, pero hacerlo del modo que lo planteas, lo veo muy complejo, con muchas cosas a controlas y con "poca fiabilidad"; Creo que no es la forma correcta de enfocarlo (pero es una opinión personal). Creo que sería más sencillo, como te he comentado, interceptar el procedimiento/mensaje de pintado (Paint() o WM_PAINT) e intentar implementar el pintado con sombra.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Campo memo tabla escribirlo en componente Memo | Sayuri | Conexión con bases de datos | 2 | 18-08-2005 13:58:01 |
pasar palabras completas de un memo a otro | Cosgaya | Conexión con bases de datos | 1 | 05-06-2005 15:41:07 |
Exportar e importar campos memo a otro gdb | eliasterrero | Firebird e Interbase | 0 | 15-03-2005 13:27:07 |
Rave: un memo abajo de otro | eltano | Impresión | 0 | 17-06-2004 20:10:39 |
Como Reflejo Un If De Select En Una Grilla | cmena | SQL | 8 | 24-05-2004 15:34:11 |
|