Question : Panneau de câble avec l'icône

Bonjour, le

Can que nous ajoutons une icône dans le secteur de statut (sur le bon coin) pour le panneau pliant de câble sans effectuer l'effondrement/augmentons le comportement et l'événement de clic d'expédition à cette icône au changement rendent toujours ouvert. Si oui, comment ?

Regards,

class= de

Réponse : Panneau de câble avec l'icône

Selon mon arrangement vous voulez l'icône deux différente sur le secteur de statut, pour montrer le statut ouvert ou étroit, et vous voulez l'événement de clic seulement sur le ce des icônes pas sur la barre de titre complète.

J'ai ajouté peu de commentaires en code, pour votre usage, ou vous pouvez faire les corrections selon votre besoin. Espérer que ceci vous aidera à accomplir la condition.

Tellement voici le code
==============

TestApp.mxml - Mxml d'application
-------------------------------------------


init absolu de " creationComplete= " de " layout= " de http://www.adobe.com/2006/mxml () ; «  xmlns : controls= " * " >
      
                              importation mx.core.UIComponent ;
                  
                  [Enfoncer (source= " capitaux/images/logos/images.jpg ")]
            [Bindable]
            logo public de variété : Classe ;
           
            [Enfoncer (source= " capitaux/images/logos/images1.jpg ")]
            [Bindable]
            logoClose public de variété : Classe ;
                  
                  init privé de fonction () : vide
                  {
                        panel.statusIcon = logo ;
                        panel.statusIconClose = logoClose ;
                  }
            ]] >
      

      
            
      
>

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


CollapsiblePanel.mxml - Composant fait sur commande
-----------------------------

creationComplete= " init du " height= " 300 " de " layout= " de http://www.adobe.com/2006/mxml " width= " absolu 400 () « >
      
                              importation mx.effects. Remettre à la côte ;
                  importer mx.controls. Image ;
                  
                  variété privée isCollapsed : Booléen = faux ;
                  assignedHeight privé de variété : Nombre ;
                  _statusIcon privé de variété : Classe ;
                  _statusIconClose privé de variété : Classe
                  statusIconImg privé de variété : Image ;
                  
                  variété privée isIconClicked : Booléen = faux ;
                  la variété privée remettent à la côte : Remettre à la côte = nouveau remettent à la côte (ceci) ;
                  
                  const statique public TITLE_ICON_CLICK : Corde = « titleIconClick » ;
                  
                  statusIconClose réglé de fonction publique (val : Classe) : vide
                  {
                        _statusIconClose = val ;
                  }
                  
                  statusIcon réglé de fonction publique (val : Classe) : vide
                  {
                        _statusIcon = val ;
                        this.createChildren () ;
                  }
                  
                  init privé de fonction () : vide
                  {
                        assignedHeight = taille ;
                        l'utilisation de // cet événement si vous voulez complet, titlebar d'agir pour l'effondrement/augmentent
                        //this.titleBar.addEventListener (MouseEvent.CLICK, titleClicked) ;
                  }
                  
                  la fonction protégée par dépassement createChildren () : vide
                  {
                        super.createChildren () ;
                        addIcon () ;
                  }
                  
                  addIcon privé de fonction () : vide
                  {
                        si (! _statusIcon de && de statusIconImg)
                        {
                              statusIconImg = nouvelle image () ;
                              // placent la largeur d'icône, taille ici ou la passent d'une méthode
                              statusIconImg.width = 30 ;
                              statusIconImg.height = 30 ;
                              statusIconImg.maintainAspectRatio = rectifient ;
                              titleBar.addChild (statusIconImg) ;
                              
                              // ONU-commentent cet événement et événement la ligne 34, pour employer le clic complet de barre de titre, et commentent la ligne # 58
                              //statusIconImg.addEventListener (MouseEvent.CLICK, iconClicked) ;
                              
                              // using ceci à agir seulement sur le clic d'icône, au lieu du clic titlebar complet, commentaire ceci si vous voulez ajouter cet événement sur titlebar complet
                              statusIconImg.addEventListener (MouseEvent.CLICK, titleClicked) ;
                        }
                        
                        si (_statusIcon)
                        {
                              statusIconImg.source = _statusIcon ;
                              positionIcon () ;
                        }
                  }
                  
                  positionIcon privé de fonction () : vide
                  {
                        statusIconImg.x = this.titleBar.width - statusIconImg.width - 10 ;
                        statusIconImg.y = (this.titleBar.height -) de statusIconImg.height/2 ;
                  }
                  
                  fonction privée iconClicked (evt : MouseEvent) : vide
                  {
                        isIconClicked = rectifier ;
                        dispatchEvent (nouvel événement (CollapsiblePanel.TITLE_ICON_CLICK));
                  }
                  
                  fonction privée titleClicked (evt : MouseEvent) : vide
                  {
                        si (resize.isPlaying)
                        {
                              // évitent si jouant
                              retour ;
                        }
                        si (isIconClicked)
                        {
                              isIconClicked = faux ;
                              retour ;
                        }
                        
                        si (isCollapsed)
                        {
                              expandPanel () ;
                        }
                        autrement
                        {
                              collapsePanel () ;
                        }
                  }
                  
                  collapsePanel public de fonction () : vide
                  {
                        assignedHeight = this.height ;
                        isCollapsed = rectifier ;
                        variété h : Nombre = 0 ;
                        si (titleBar)
                        {
                              h += titleBar.height ;
                        }
                        
                        si (controlBar)
                        {
                              h += controlBar.height ;
                        }
                        this.height = h ;
                        
                        statusIconImg.source = _statusIconClose ;
                        positionIcon () ;
                  }
                  
                  expandPanel public de fonction () : vide
                  {
                        isCollapsed = faux ;
                        this.height = assignedHeight ;
                        
                        statusIconImg.source = _statusIcon ;
                        positionIcon () ;
                  }
            ]] >
      


----------------------------------
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us