Wie pro mein Verständnis wünschen Sie unterschiedliche Ikone zwei auf Statusbereich, geöffneten oder nahen Status zeigen, und Sie wünschen das Klickenereignis nur auf diesem Ikonen nicht auf komplettem Titelstab.
Ich hinzugefügt wenige Anmerkungen im Code, für Ihren Gebrauch hren, oder Sie können die Korrekturen wie pro Ihre Notwendigkeit bilden. Hoffen, dass dieses Ihnen hilft, die Anforderung abzuschließen.
Ist so hier der Code
==============
TestApp.mxml - Anwendung mxml
-------------------------------------------
http://www.adobe.com/2006/mxml " layout= " absolutes " creationComplete= " init (); „ xmlns: controls= " * " >
Import mx.core.UIComponent;
[Einbetten (source= " Anlagegüter/Bilder/Firmenzeichen/images.jpg ")]
[Bindable]
allgemeines var-Firmenzeichen: Kategorie;
[Einbetten (source= " Anlagegüter/Bilder/Firmenzeichen/images1.jpg ")]
[Bindable]
allgemeines var logoClose: Kategorie;
privates Funktion init (): Lücke
{
panel.statusIcon = Firmenzeichen;
panel.statusIconClose = logoClose;
}
]] >
>
-----------------------------------------
CollapsiblePanel.mxml - Kundenspezifischer Bestandteil
-----------------------------
http://www.adobe.com/2006/mxml " layout= " absolutes " width= " 400 " height= " 300 " creationComplete= " init () „>
Import mx.effects. Die Größe neu bestimmen;
mx.controls importieren. Bild;
privater var isCollapsed: Boolesch = falsch;
privates var assignedHeight: Zahl;
privates var _statusIcon: Kategorie;
privates var _statusIconClose: Kategorie
privates var statusIconImg: Bild;
privater var isIconClicked: Boolesch = falsch;
privater var die Größe neu bestimmen: Die Größe neu bestimmen = neu die Größe neu bestimmen (dieses);
allgemeines statisches const TITLE_ICON_CLICK: Schnur = „titleIconClick“;
allgemeine Funktion gesetztes statusIconClose (val: Kategorie): Lücke
{
_statusIconClose = val;
}
allgemeine Funktion gesetztes statusIcon (val: Kategorie): Lücke
{
_statusIcon = val;
this.createChildren ();
}
privates Funktion init (): Lücke
{
assignedHeight = Höhe;
//-Gebrauch dieses Ereignis, wenn Sie komplettes wünschen, titlebar, für Einsturz zu fungieren/erweitert
//this.titleBar.addEventListener (MouseEvent.CLICK, titleClicked);
}
Übersteuerung geschützte Funktion createChildren (): Lücke
{
super.createChildren ();
addIcon ();
}
privates Funktion addIcon (): Lücke
{
wenn (! statusIconImg && _statusIcon)
{
statusIconImg = neues Bild ();
// einstellen Ikonenbreite, Höhe hier er oder führen sie von einer Methode
statusIconImg.width = 30;
statusIconImg.height = 30;
statusIconImg.maintainAspectRatio = ausrichten en;
titleBar.addChild (statusIconImg);
// UNO-kommentieren dieses Ereignis und Ereignis Linie 34, komplettes Titelstabklicken zu verwenden und kommentieren die Linie # 58
//statusIconImg.addEventListener (MouseEvent.CLICK, iconClicked);
// using dieses, zum nur nach Ikonenklicken, anstelle vom kompletten titlebar Klicken zu handeln, Anmerkung dieses, wenn Sie dieses Ereignis auf komplettem titlebar hinzufügen möchten
statusIconImg.addEventListener (MouseEvent.CLICK, titleClicked);
}
wenn (_statusIcon)
{
statusIconImg.source = _statusIcon;
positionIcon ();
}
}
privates Funktion positionIcon (): Lücke
{
statusIconImg.x = this.titleBar.width - statusIconImg.width - 10;
statusIconImg.y = (this.titleBar.height - statusIconImg.height)/2;
}
private Funktion iconClicked (evt: MouseEvent): Lücke
{
isIconClicked = ausrichten;
dispatchEvent (neues Ereignis (CollapsiblePanel.TITLE_ICON_CLICK));
}
private Funktion titleClicked (evt: MouseEvent): Lücke
{
wenn (resize.isPlaying)
{
// vermeiden beim Spielen
Rückkehr;
}
wenn (isIconClicked)
{
isIconClicked = falsch;
Rückkehr;
}
wenn (isCollapsed)
{
expandPanel ();
}
sonst
{
collapsePanel ();
}
}
allgemeines Funktion collapsePanel (): Lücke
{
assignedHeight = this.height;
isCollapsed = ausrichten;
var h: Zahl = 0;
wenn (titleBar)
{
h += titleBar.height;
}
wenn (controlBar)
{
h += controlBar.height;
}
this.height = h;
statusIconImg.source = _statusIconClose;
positionIcon ();
}
allgemeines Funktion expandPanel (): Lücke
{
isCollapsed = falsch;
this.height = assignedHeight;
statusIconImg.source = _statusIcon;
positionIcon ();
}
]] >
----------------------------------