Vraag : Flex Comité met pictogram

Hallo,

Can die wij een pictogram op statusgebied (op de juiste hoek) hebben toegevoegd voor flex opvouwbaar paneel zonder de instorting uit te voeren/uitbreidt gedrag en het bericht klikt gebeurtenis aan dat pictogram om te veranderen open maakt altijd. Als ja, hoe?

Regards,

Antwoord : Flex Comité met pictogram

Vanaf mijn begrip wilt u verschillend pictogram twee op statusgebied, open of dichte status tonen, en u wilt de klikgebeurtenis slechts over deze pictogrammen niet op volledige titelbar.

Ik heb weinig commentaren in code, voor uw gebruik toegevoegd, of u kunt de correcties vanaf uw behoefte maken. Hoop dit u zal helpen het vereiste voltooien.

Zo hier is de code
==============

TestApp.mxml - Toepassing mxml



http://www.adobe.com/2006/mxml " layout= " absolute " creationComplete= " init (); „ xmlns: controls= " * " >
      
                              de invoer mx.core.UIComponent;
                  
                  [Bed (source= " activa/beelden/emblemen/images.jpg ") in]
            [Bindable]
            openbaar var embleem: Klasse;
           
            [Bed (source= " activa/beelden/emblemen/images1.jpg ") in]
            [Bindable]
            openbare var logoClose: Klasse;
                  
                  privé functie init (): leegte
                  {
                        panel.statusIcon = embleem;
                        panel.statusIconClose = logoClose;
                  }
            ]] >
      

      
            
      
>




CollapsiblePanel.mxml - de component van de Douane


http://www.adobe.com/2006/mxml " layout= " absolute " width= " 400 " height= " 300 " creationComplete= " init () „>
      
                              de invoer mx.effects. Resize;
                  voer mx.controls in. Beeld;
                  
                  privé var isCollapsed: Van Boole = vals;
                  privé var assignedHeight: Aantal;
                  privé var _statusIcon: Klasse;
                  privé var _statusIconClose: Klasse
                  privé var statusIconImg: Beeld;
                  
                  privé var isIconClicked: Van Boole = vals;
                  privé var resize: Resize = nieuw Resize (dit);
                  
                  openbare statische const TITLE_ICON_CLICK: Koord = „titleIconClick“;
                  
                  geplaatste overheidsfunctie statusIconClose (val: Klasse): leegte
                  {
                        _statusIconClose = val;
                  }
                  
                  geplaatste overheidsfunctie statusIcon (val: Klasse): leegte
                  {
                        _statusIcon = val;
                        this.createChildren ();
                  }
                  
                  privé functie init (): leegte
                  {
                        assignedHeight = hoogte;
                        // gebruikt deze gebeurtenis als u volledig wilt, titlebar om voor instorting te handelen/breid me uit
                        //this.titleBar.addEventListener (MouseEvent.CLICK, titleClicked);
                  }
                  
                  createChildren de opheffing beschermde functie (): leegte
                  {
                        super.createChildren ();
                        addIcon ();
                  }
                  
                  privé functie addIcon (): leegte
                  {
                        als (! statusIconImg && _statusIcon)
                        {
                              statusIconImg = nieuw Beeld ();
                              // plaatst hier pictogrambreedte, hoogte of gaat het van een methode over
                              statusIconImg.width = 30;
                              statusIconImg.height = 30;
                              statusIconImg.maintainAspectRatio = waar;
                              titleBar.addChild (statusIconImg);
                              
                              // de V.N.-commentaar deze gebeurtenis en gebeurtenis online 34, om volledige titelbar te gebruiken klikt, en becommentari�ërt de lijn # 58
                              //statusIconImg.addEventListener (MouseEvent.CLICK, iconClicked);
                              
                              // gebruikend dit om slechts op pictogram te handelen klikt, in plaats van volledige titlebar klik, becommentari�ër dit als u deze gebeurtenis wilt toevoegen over volledige titlebar
                              statusIconImg.addEventListener (MouseEvent.CLICK, titleClicked);
                        }
                        
                        als (_statusIcon)
                        {
                              statusIconImg.source = _statusIcon;
                              positionIcon ();
                        }
                  }
                  
                  privé functie positionIcon (): leegte
                  {
                        statusIconImg.x = this.titleBar.width - statusIconImg.width - 10;
                        statusIconImg.y = (this.titleBar.height - statusIconImg.height)/2;
                  }
                  
                  de privé functie iconClicked (evt: MouseEvent): leegte
                  {
                        isIconClicked = waar;
                        dispatchEvent (nieuwe Gebeurtenis (CollapsiblePanel.TITLE_ICON_CLICK));
                  }
                  
                  de privé functie titleClicked (evt: MouseEvent): leegte
                  {
                        als (resize.isPlaying)
                        {
                              // vermijdt als het spelen
                              terugkeer;
                        }
                        als (isIconClicked)
                        {
                              isIconClicked = vals;
                              terugkeer;
                        }
                        
                        als (isCollapsed)
                        {
                              expandPanel ();
                        }
                        anders
                        {
                              collapsePanel ();
                        }
                  }
                  
                  overheidsfunctie collapsePanel (): leegte
                  {
                        assignedHeight = this.height;
                        isCollapsed = waar;
                        var h: Aantal = 0;
                        als (titleBar)
                        {
                              h += titleBar.height;
                        }
                        
                        als (controlBar)
                        {
                              h += controlBar.height;
                        }
                        this.height = h;
                        
                        statusIconImg.source = _statusIconClose;
                        positionIcon ();
                  }
                  
                  overheidsfunctie expandPanel (): leegte
                  {
                        isCollapsed = vals;
                        this.height = assignedHeight;
                        
                        statusIconImg.source = _statusIcon;
                        positionIcon ();
                  }
            ]] >
      


Andere oplossingen  
 
programming4us programming4us