Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/05/2004, 03:36
rasgon
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid
Mensajes: 44
Antigüedad: 21 años, 9 meses
Puntos: 0
Problemón: Que el alto de una caja de texto varíe sólo si hace falta??

Hola.

A ver, tengo un supermegaproblemón: Tengo un menú hecho en Flash (que se genera dinámicamente. Cada ítem del menú se carga de un fichero php (que varía según el contenido de una base de datos; bueno, eso es lo de menos) y el texto aparece en una caja de texto dinámica (una caja de texto para cada ítem).

El caso es que el menú tiene un ancho máximo y hay algunos ítems que necesitarían saltar de línea para entrar en ese ancho; pero no lo hacen, ya que he colocado la caja de texto dinámica con determinado ancho. Así que el texto que no entra "se sale" y no se ve.

El menú se genera dinámicamente: si hay 5 ítems pues hace una copia del movieclip donde está la caja de texto, coloca ahí un ítem, CALCULA EL ALTO del movieclip, avanza ese espacio en vertical, colocal el siguiente movieclip con su caja de texto y correspondiente ítem, y así, hasta acabar con el menú.

Para que si el texto es demasiado largo cupiera en la caja de texto, debería darle también cierto alto a la caja de texto. Esa es la solución, vale, pero hay un problema: si reservo determinado alto, este alto hace que el tamaño del movieclip en el que está la caja de texto también varíe, aunque luego el texto sea corto y solo ocupe una linea. Y el menú aparece con espacios vacios donde no debería haberlos.

En vez de:

-Opción uno corta

-Opción dos que es
un poco larga

-Opción tres corta

-Opción cuatro
un poco larga

... pues como la caja es alta de todas todas, tenga texto largo o no, al generarse dinámicamente queda:

-Opción uno corta


-Opción dos que es
un poco larga

-Opción tres corta


-Opción cuatro
un poco larga

... con demasiado espacio.


Extraigo el código de esto, por si aclara algo:

for (i=1; i<=datos.cuantos; i++)
{
duplicateMovieClip(casilla, "casilla"+i, i);
tellTarget ("casilla"+i)
texto = m_opcion[i];

setProperty("casilla"+i, _y, y_ini);
setProperty("casilla"+i, _x, pos_x);
_global.primealto = getProperty("casilla"+i, _height);
y_ini = y_ini+_global.primealto;
}

Bueno, por si no ha quedado claro, la pregunta es: ¿Cómo hago que la caja de texto dinámica varíe su alto dependiendo del tamaño del texto que necesita albergar?

Me da en al nariz que esto no tiene solución.

Un saludo y gracias de antemano!

Adolfo