Cita:
Empezado por sac
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?
|
EL problema de lo primero es que aunque no lo vayas a hacer, puede hacerse, de forma que si no lo controlas, si en algun momento haces CTRL+X + CTRL+V aquello va a parecer "una traca de feria", como se suele decir.
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.