2016-04-30 1 views
0

J'ai un ComboBox qui est défini pour être visible lorsqu'un composant qui se trouve en dessous est plané, mon problème est que lorsque je survole le ComboBox commence à scintiller parce que je quitte le composant sous-jacent.Flash Builder 4.6 - ComboBox défini sur visible sur le composant sous-jacent MouseOver, mais scintille lorsque MouseOver de ComboBox

Mon code est:

<fx:Script> 
    <![CDATA[ 
     private function videoRollOut():void 
     { 
      controls.visible=false; 
     } 
     private function videoRollOver():void 
     { 
      controls.visible=true; 
     } 
    ]]> 
</fx:Script> 

<mx:Canvas width="100%" height="46%"> 
    <mx:VideoDisplay id="localVideoDisplay" top="0" right="0" bottom="0" left="0" height="100%" width="100%" rollOver="videoRollOver()" rollOut="videoRollOut()"/> 
    <s:VGroup id="controls" bottom="10" right="0" left="0" horizontalAlign="center" visible="false" mouseOver="videoRollOver()" mouseOut="videoRollOut()"> 
     <s:HGroup verticalAlign="middle"> 
      <s:Label color="0xFFFFFF" text="Audio: "/> 
      <s:ComboBox id="micSelection" change="micChanged(event)" 
      dataProvider="{micNames}"/> 
     </s:HGroup> 
     <s:HGroup verticalAlign="middle"> 
      <s:Label color="0xFFFFFF" text="Video: "/> 
      <s:ComboBox id="cameraSelection" change="cameraChanged(event)" 
      dataProvider="{cameraNames}"/> 
     </s:HGroup> 
    </s:VGroup> 
</mx:Canvas> 

J'ai essayé d'ajouter le même mouseOver et les fonctions mouseOut au ComboBox, et alors que je pouvais maintenant planer sur le ComboBox sans elle vacillante, quand j'ai essayé de planer sur certains des les options laissées à la fois par la ComboBox et la VideoDisplay, rendant la ComboBox encore une fois invisible tout en gardant les options de la ComboBox visibles.

J'ai tenté d'ajouter un mouseEnabled = "false" mouseChildren = "false" au ComboBox, mais le ComboBox était alors inutilisable.

Si quelqu'un a des conseils, ce serait génial!

Répondre

1

Vous pouvez utiliser quelque chose comme ceci dans votre méthode videoRollOut

controls.visible=controls.getBounds(this).contains(mouseX,mouseY)?true:false; 
+0

Super, ce qui est bon progrès. Cela ne disparaît pas si je quitte la boîte vidéo, mais elle ne disparaît pas si je clique dessus (en dehors de la vidéo) sans sélectionner une option ou si je sélectionne une option en dehors du videobox. Des conseils pour résoudre ce problème? – Alesana

+0

Oh peut-être que nous devons vérifier cela lorsque la boîte combo est fermée. Je vais mettre à jour la réponse dès que j'arrive à ma machine –