Un problema que nos encontramos al crear una aplicación en Flex es que el componente ToogleButtonBar no tiene un método para deshabilitar los botones.
¿Cómo podemos solucionar esto? Fácil, accedemos a la instancia del botón interna dentro del displaylist y la deshabilitamos:
Código :
Button(barra.getChildAt(0)).enabled = false
Esto es debido a que el componente ToggleButtonBar de Flex tiene una particularidad: no expone los botones en los métodos de su clase y recibe simplemente strings para crearlos. Se le puede dar estilo a los botones, pero hay un problema si por algún motivo queremos deshabilitarlos ... no tenemos un método para hacerlo. He aquí un simple script de botones:
Si bien el contenido son strings, al crearse el componente se crean botones. No podemos especificar un click directamente en el MXML, pero en la función clickHandler podemos distinguir las etiquetas y hacer algo en función de ellas, muestro aquí como ver la etiqueta:
Código :
private function clickHandler(event:ItemClickEvent):void{
trace("Clickado: "+event.label)
}
Pero bajo determinadas condiciones, puede que necesitemos deshablitar algún botón ... pero leyendo la documentación no encontramos métodos para hacerlo. La primera sospecha es que los botones se encuentran en el displayList de la barra ... para comprobarlo usamos un for ... in para trazar los hijos (podemos llamar la función en el creationComplete del ToogleButtonBar)
Muy bueno Jorge Nunca me encontré en el caso de necesitar dehabilitar un botón en un ToogleButtonBar, pero seguro el tip me servirá en su momento Por:Zguillez
Hey! Seguro es muy útil, buen Tip solisarg. Por:M@U
Gracias de verdad amigo. No tenía este problema en particular, pero saber como acceder a las propiedades de los botones hijos del TBB me salvó la vida. Por:Wolvington-blog