Pytanie : Przewód Panel z ikona

Cześć,

Can my dodawać ikona w status teren (na the prawy kąt) dla przewód prawy panel bez the zawalenie się/rozszerzać zachowanie i ekspedycja stuknięcie wydarzenie ten ikona robić zawsze otwarty. Jeżeli tak, Dlaczego?

Regards,

Odpowiedź : Przewód Panel z ikona

Na mój zrozumienie ty chcieć dwa różny ikona na status teren, otwarty lub zamknięty status, i ty chcieć the stuknięcie wydarzenie tylko na ten ikona nie na zupełny tytułowy bar.

I dodawać potrzeba komentarz w kod, dla twój use, lub ty móc the korekcja na twój potrzeba. Mieć Nadzieję wymaganie pomagać ty the wymaganie.

W Ten Sposób tutaj być the kod
==============

TestApp.mxml - Podaniowy mxml
-------------------------------------------


http://www.adobe.com/2006/mxml " layout= " absolutny " creationComplete= " init (); " xmlns: controls= " * " >
      
                              importowy mx.core.UIComponent;
                  
                  [Osadzać (source= " wartość/wizerunek/logo/images.jpg ")]
            [Bindable]
            jawny var logo: Klasa;
           
            [Osadzać (source= " wartość/wizerunek/logo/images1.jpg ")]
            [Bindable]
            jawny var logoClose: Klasa;
                  
                  intymny funkcja init (): pustka
                  {
                        panel.statusIcon = logo;
                        panel.statusIconClose = logoClose;
                  }
            ]] >
      

      
            
      
>

-----------------------------------------


CollapsiblePanel.mxml - Obyczajowy składnik
-----------------------------

http://www.adobe.com/2006/mxml " layout= " absolutny " width= " 400 " height= " 300 " creationComplete= " init () ">
      
                              importowy mx.effects. Resize;
                  importować mx.controls. Wizerunek;
                  
                  intymny var isCollapsed: Boolowski = fałszywy;
                  intymny var assignedHeight: Liczba;
                  intymny var _statusIcon: Klasa;
                  intymny var _statusIconClose: Klasa
                  intymny var statusIconImg: Wizerunek;
                  
                  intymny var isIconClicked: Boolowski = fałszywy;
                  intymny var resize: Resize = nowy Resize (to);
                  
                  jawny statyczny const TITLE_ICON_CLICK: Sznurek = "titleIconClick";
                  
                  jawny funkcja ustalony statusIconClose (val: Klasa): pustka
                  {
                        _statusIconClose = val;
                  }
                  
                  jawny funkcja ustalony statusIcon (val: Klasa): pustka
                  {
                        _statusIcon = val;
                        this.createChildren ();
                  }
                  
                  intymny funkcja init (): pustka
                  {
                        assignedHeight = wzrost;
                        // use ten wydarzenie jeżeli ty chcieć zupełny, titlebar dla zawalenie się/rozszerzać
                        //this.titleBar.addEventListener (MouseEvent.CLICK, titleClicked);
                  }
                  
                  override ochraniać funkcja createChildren (): pustka
                  {
                        super.createChildren ();
                        addIcon ();
                  }
                  
                  intymny funkcja addIcon (): pustka
                  {
                        jeżeli (! statusIconImg && _statusIcon)
                        {
                              statusIconImg = nowy Wizerunek ();
                              // ustawiać ikona szerokość, wzrost tutaj lub przechodzić ono od metoda
                              statusIconImg.width = 30;
                              statusIconImg.height = 30;
                              statusIconImg.maintainAspectRatio = true;
                              titleBar.addChild (statusIconImg);
                              
                              // UN-komentować ten wydarzenie i wydarzenie online 34, zupełny tytułowy bar stuknięcie, i komentować the kreskowy # 58
                              //statusIconImg.addEventListener (MouseEvent.CLICK, iconClicked);
                              
                              // using wydarzenie tylko na ikona stuknięcie, zamiast zupełny titlebar stuknięcie, komentarz postępować jeżeli ty chcieć ten wydarzenie na zupełny titlebar
                              statusIconImg.addEventListener (MouseEvent.CLICK, titleClicked);
                        }
                        
                        jeżeli (_statusIcon)
                        {
                              statusIconImg.source = _statusIcon;
                              positionIcon ();
                        }
                  }
                  
                  intymny funkcja positionIcon (): pustka
                  {
                        statusIconImg.x = this.titleBar.width - statusIconImg.width - 10;
                        statusIconImg.y = (this.titleBar.height - statusIconImg.height)/2;
                  }
                  
                  intymny funkcja iconClicked (evt: MouseEvent): pustka
                  {
                        isIconClicked = true;
                        dispatchEvent (nowy Wydarzenie (CollapsiblePanel.TITLE_ICON_CLICK));
                  }
                  
                  intymny funkcja titleClicked (evt: MouseEvent): pustka
                  {
                        jeżeli (resize.isPlaying)
                        {
                              // unikać jeżeli bawić się
                              powrót;
                        }
                        jeżeli (isIconClicked)
                        {
                              isIconClicked = fałszywy;
                              powrót;
                        }
                        
                        jeżeli (isCollapsed)
                        {
                              expandPanel ();
                        }
                        inny
                        {
                              collapsePanel ();
                        }
                  }
                  
                  jawny funkcja collapsePanel (): pustka
                  {
                        assignedHeight = this.height;
                        isCollapsed = true;
                        var h: Liczba = (0);
                        jeżeli (titleBar)
                        {
                              h += titleBar.height;
                        }
                        
                        jeżeli (controlBar)
                        {
                              h += controlBar.height;
                        }
                        this.height = h;
                        
                        statusIconImg.source = _statusIconClose;
                        positionIcon ();
                  }
                  
                  jawny funkcja expandPanel (): pustka
                  {
                        isCollapsed = fałszywy;
                        this.height = assignedHeight;
                        
                        statusIconImg.source = _statusIcon;
                        positionIcon ();
                  }
            ]] >
      


----------------------------------
Inne rozwiązania  
 
programming4us programming4us