Según mi comprensión usted quiere diverso icono dos en área del estado, para demostrar estado abierto o cercano, y usted quiere el acontecimiento del tecleo solamente en este los iconos no en barra de título completa.
He agregado pocos comentarios en código, para su uso, o usted puede hacer las correcciones según su necesidad. Esperar que esto le ayude a terminar el requisito.
Tan aquí está el código
==============
TestApp.mxml - Mxml del uso
-------------------------------------------
init absoluto del " creationComplete= " del " layout= " de http://www.adobe.com/2006/mxml (); “ xmlns: controls= " * " >
importación mx.core.UIComponent;
[Encajar (source= " activos/imágenes/insignias/images.jpg ")]
[Bindable]
insignia pública del var: Clase;
[Encajar (source= " activos/imágenes/insignias/images1.jpg ")]
[Bindable]
logoClose público del var: Clase;
init privado de la función (): vacío
{
panel.statusIcon = insignia;
panel.statusIconClose = logoClose;
}
]] >
>
-----------------------------------------
CollapsiblePanel.mxml - Componente de encargo
-----------------------------
creationComplete= " init del " height= " 300 " del " layout= " de http://www.adobe.com/2006/mxml " width= absoluto " 400 () “>
importación mx.effects. Volver a clasificar según el tamaño;
importar mx.controls. Imagen;
var privado isCollapsed: Boleano = falso;
assignedHeight privado del var: Número;
_statusIcon privado del var: Clase;
_statusIconClose privado del var: Clase
statusIconImg privado del var: Imagen;
var privado isIconClicked: Boleano = falso;
el var privado vuelve a clasificar según el tamaño: Volver a clasificar según el tamaño = nuevo vuelven a clasificar según el tamaño (esto);
const estático público TITLE_ICON_CLICK: Secuencia = “titleIconClick”;
statusIconClose determinado de la función pública (val: Clase): vacío
{
_statusIconClose = val;
}
statusIcon determinado de la función pública (val: Clase): vacío
{
_statusIcon = val;
this.createChildren ();
}
init privado de la función (): vacío
{
assignedHeight = altura;
el uso de // este acontecimiento si usted quiere completo, titlebar de actuar para el derrumbamiento/se amplía
//this.titleBar.addEventListener (MouseEvent.CLICK, titleClicked);
}
la función protegida invalidación createChildren (): vacío
{
super.createChildren ();
addIcon ();
}
addIcon privado de la función (): vacío
{
¡si (! _statusIcon del && del statusIconImg)
{
statusIconImg = nueva imagen ();
// fija la anchura del icono, altura aquí o la pasa de un método
statusIconImg.width = 30;
statusIconImg.height = 30;
statusIconImg.maintainAspectRatio = verdad;
titleBar.addChild (statusIconImg);
// O.N.U-comenta este acontecimiento y acontecimiento respecto a la línea 34, utilizar tecleo completo de la barra de título, y comenta la línea # 58
//statusIconImg.addEventListener (MouseEvent.CLICK, iconClicked);
// usar esto a actuar solamente en tecleo del icono, en vez de tecleo titlebar completo, comentario esto si usted quiere agregar este acontecimiento en titlebar completo
statusIconImg.addEventListener (MouseEvent.CLICK, titleClicked);
}
si (_statusIcon)
{
statusIconImg.source = _statusIcon;
positionIcon ();
}
}
positionIcon privado de la función (): vacío
{
statusIconImg.x = this.titleBar.width - statusIconImg.width - 10;
statusIconImg.y = (this.titleBar.height -)/2 de statusIconImg.height;
}
función privada iconClicked (evt: MouseEvent): vacío
{
isIconClicked = verdad;
dispatchEvent (nuevo acontecimiento (CollapsiblePanel.TITLE_ICON_CLICK));
}
función privada titleClicked (evt: MouseEvent): vacío
{
si (resize.isPlaying)
{
// evita si juega
vuelta;
}
si (isIconClicked)
{
isIconClicked = falso;
vuelta;
}
si (isCollapsed)
{
expandPanel ();
}
{
collapsePanel ();
}
}
collapsePanel público de la función (): vacío
{
assignedHeight = this.height;
isCollapsed = verdad;
var h: Número = 0;
si (titleBar)
{
h += titleBar.height;
}
si (controlBar)
{
h += controlBar.height;
}
this.height = h;
statusIconImg.source = _statusIconClose;
positionIcon ();
}
expandPanel público de la función (): vacío
{
isCollapsed = falso;
this.height = assignedHeight;
statusIconImg.source = _statusIcon;
positionIcon ();
}
]] >
----------------------------------