Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2009, 06:30
riestra
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 11 meses
Puntos: 0
Referenciar en una funcion al objeto que llama a esa funcion

Hola, mi duda tiene que ver con Flex3 y ActionScript, el problema es el siguiente:

Tengo varios mx:Label en mi programa, basicamente lo que quiero es usarlos como un boton o enlace, al estilo de JavaScript, usando CSS para que al poner el cursor encima las letras cambien de color y pongan el estilo subrayado, y que al retirar el cursor vuelva al estilo original, en negro y sin subrayado.

Ademas al evento click le he asignado una funcion para que cambie un par de cosillas, asi que la parte de mxml está asi:

Código :

Código:
<mx:Label text="Hoteles" id="l1" x="23" y="0" click="change('hotel')" mouseOver="cambia('encima')" mouseOut="cambia('fuera')"/>


En cambia(a:String) va a ser donde aplique los estilos, hasta ahora lo hice con

Código :

Código:
l1.setStyle("color",0x0174DF);
pero no me vale porque no sería genérico, yo necesito usar esa función para Label id="l2" y Label id="l3" .....

Por tanto, ¿cómo puedo llamar al objeto desde el cual estoy invocando la función?
En este caso al objeto label que llama a la función cambia(String) ???

También he probado con:

mouseOver="cambia(event)"
private function cambia(evt:MouseEvent):void{
Label(evt.target).setStyle("color",0x0174DF);
}

pero me da error:
Error de conversión forzada: no se puede convertir mx.core::UITextFieldarroba1840a5b1 en mx.controls.Label.

¿Se os ocurre algo? Gracias y un saludo.