PDA

Ver la Versión Completa : Pregunta de novato con un memo


Elfoscuro
08-05-2005, 01:39:21
Hola. Tengo una pregunta que seguro que será de novato, pero he estado mirándome la ayuda del delphi sobre los memos y no he encontrado nada que me sirva.

Mi idea es mostrar un form que contiene un memo 'Align'eado al form. En el método show del form hago una serie de cosas, entre ellas, cargar el memo con las líneas. Al hacer ésto pensé que quedaría más "potito" si hiciera el form tan ancho que la barra de desplazamiento inferior se 'disable'ara ella misma. Es decir, que el memo se expandiera de forma que se pudiera leer todo el texto de la línea más larga.

No se si me explico. Lo hago con un ejemplo. En mi memo caben (por ejemplo) 50 letras. Al cargar el memo, una de las líneas ocupa 60, por lo que automáticamente la barra de desplazamiento inferior se activa para que esa línea se pueda leer. Bien, lo que yo quiero es que el memo, al cargar la línea de 60 letras, se agrande en anchura para que entren las 60 letras.

Además, estaría bien que no se agrandara demasiado, no vaya a salir un form de 2000 píxeles ;-)

Lo que yo había pensado es usar el textwidth que uso en los TListBox, pero o no existe esa propiedad en el memo, o no se como llegar a ella. La idea era en el bucle que se encarga de irle tirando líneas al memo, hacer la comprobación con la función textwidth, y actuar en consecuencia.

¿Existe algo así? ¿Qué instrucción debería usar?

Saludos

JXJ
08-05-2005, 04:26:21
yo creo que lo que podrias hacer es delimitar tu Tmemo a las 60 letras y deshabilitar o solo dejar la opcion de Scroll, en vertical, y asi no se muestra la barra de escrol horizontal y el texto. se pasa a la siguiente linea si sobrepasa, el tamaño definido para el TMemo.

si alguien tiene mejor forma de hacer lo que pides, te lo dira.
Con eso obtienes el efecto que quieres.
Hasta pronto. :D

Lepe
08-05-2005, 11:06:46
si Memo1.ParentFont está a true, puedes usar el del Form1.Canvas.textwidth, para saber el ancho, y asignarlo al memo1.ClientWidth

Asegurate de que memo1.WordWrap está a falso.

Un saludo

Lepe
26-05-2005, 19:38:54
Y si Memo1.ParentFont está a falso, mira este hilo (http://www.clubdelphi.com/foros/showthread.php?p=89981#post89981)

bye