Pergunta : Painel do cabo flexível com ícone

Olá!, o

Can que nós adicionamos um ícone na área do status (no canto direito) para o painel dobrável do cabo flexível sem efetuar o colapso/expandimos o comportamento e o evento do clique da expedição a esse ícone à mudança faz sempre aberto. Se sim, como?

Regards,

class= do

Resposta : Painel do cabo flexível com ícone

Como por minha compreensão você quer o ícone dois diferente na área do status, mostrar o status aberto ou próximo, e você quer o evento do clique somente no este ícones não na barra de título completa.

Eu adicionei poucos comentários no código, para seu uso, ou você pode fazer as correções como por sua necessidade. Esperar que isto o ajudará a terminar a exigência.

Está tão aqui o código
==============

TestApp.mxml - Mxml da aplicação
-------------------------------------------


init absoluto do " creationComplete= " do " layout= " de http://www.adobe.com/2006/mxml (); “ xmlns: controls= " * " >
      
                              importação mx.core.UIComponent;
                  
                  [Encaixar (source= " recursos/imagens/logotipos/images.jpg ")]
            [Bindable]
            logotipo público do var: Classe;
           
            [Encaixar (source= " recursos/imagens/logotipos/images1.jpg ")]
            [Bindable]
            logoClose público do var: Classe;
                  
                  init confidencial da função (): vácuo
                  {
                        panel.statusIcon = logotipo;
                        panel.statusIconClose = logoClose;
                  }
            ]] >
      

      
            
      
>

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


CollapsiblePanel.mxml - Componente feito sob encomenda
-----------------------------

creationComplete= " init do " height= " 300 " do " layout= " de http://www.adobe.com/2006/mxml " width= absoluto " 400 () “>
      
                              importação mx.effects. Resize;
                  importar mx.controls. Imagem;
                  
                  var confidencial isCollapsed: Bôoleano = falso;
                  assignedHeight confidencial do var: Número;
                  _statusIcon confidencial do var: Classe;
                  _statusIconClose confidencial do var: Classe
                  statusIconImg confidencial do var: Imagem;
                  
                  var confidencial isIconClicked: Bôoleano = falso;
                  o var confidencial resize: Resize = novo Resize (isto);
                  
                  const de estática público TITLE_ICON_CLICK: Corda = “titleIconClick”;
                  
                  statusIconClose ajustado da função pública (val: Classe): vácuo
                  {
                        _statusIconClose = val;
                  }
                  
                  statusIcon ajustado da função pública (val: Classe): vácuo
                  {
                        _statusIcon = val;
                        this.createChildren ();
                  }
                  
                  init confidencial da função (): vácuo
                  {
                        assignedHeight = altura;
                        o uso de // este evento se você quer completo, titlebar actuar para o colapso/expande
                        //this.titleBar.addEventListener (MouseEvent.CLICK, titleClicked);
                  }
                  
                  a função protegida ultrapassagem createChildren (): vácuo
                  {
                        super.createChildren ();
                        addIcon ();
                  }
                  
                  addIcon confidencial da função (): vácuo
                  {
                        se (! _statusIcon do && do statusIconImg)
                        {
                              statusIconImg = imagem nova ();
                              // ajusta a largura do ícone, altura aqui ou passa-a de um método
                              statusIconImg.width = 30;
                              statusIconImg.height = 30;
                              statusIconImg.maintainAspectRatio = retificam;
                              titleBar.addChild (statusIconImg);
                              
                              // un-comenta este evento e evento na linha 34, para usar o clique completo da barra de título, e comenta a linha # 58
                              //statusIconImg.addEventListener (MouseEvent.CLICK, iconClicked);
                              
                              // using isto a actuar somente no clique do ícone, em vez do clique titlebar completo, comentário isto se você quer adicionar este evento em titlebar completo
                              statusIconImg.addEventListener (MouseEvent.CLICK, titleClicked);
                        }
                        
                        se (_statusIcon)
                        {
                              statusIconImg.source = _statusIcon;
                              positionIcon ();
                        }
                  }
                  
                  positionIcon confidencial da função (): vácuo
                  {
                        statusIconImg.x = this.titleBar.width - statusIconImg.width - 10;
                        statusIconImg.y = (this.titleBar.height -) de statusIconImg.height/2;
                  }
                  
                  função confidencial iconClicked (evt: MouseEvent): vácuo
                  {
                        isIconClicked = retificar;
                        dispatchEvent (evento novo (CollapsiblePanel.TITLE_ICON_CLICK));
                  }
                  
                  função confidencial titleClicked (evt: MouseEvent): vácuo
                  {
                        se (resize.isPlaying)
                        {
                              // evita se jogando
                              retorno;
                        }
                        se (isIconClicked)
                        {
                              isIconClicked = falso;
                              retorno;
                        }
                        
                        se (isCollapsed)
                        {
                              expandPanel ();
                        }
                        mais
                        {
                              collapsePanel ();
                        }
                  }
                  
                  collapsePanel público da função (): vácuo
                  {
                        assignedHeight = this.height;
                        isCollapsed = retificar;
                        var h: Número = 0;
                        se (titleBar)
                        {
                              h += titleBar.height;
                        }
                        
                        se (controlBar)
                        {
                              h += controlBar.height;
                        }
                        this.height = h;
                        
                        statusIconImg.source = _statusIconClose;
                        positionIcon ();
                  }
                  
                  expandPanel público da função (): vácuo
                  {
                        isCollapsed = falso;
                        this.height = assignedHeight;
                        
                        statusIconImg.source = _statusIcon;
                        positionIcon ();
                  }
            ]] >
      


----------------------------------
Outras soluções  
 
programming4us programming4us