2010-03-06 4 views
1

재 : 스파크에서 spark.components.ButtonBar플렉스 스파크 ButtonBar 컨트롤 : 마우스 오버 이벤트에 버튼을 판별하는 방법

ButtonBar 컨트롤의 mouseOver로 이벤트가 어떻게 마우스를 유혹하는 여러 버튼의 결정 않는다 위에? 이 시점에서 선택된 색인은 없습니다. 차이가 나는 경우 ButtonBar는 MXML에서는 정의되지 않지만 ActionScript에서는 인스턴스화되고 ArrayList는 ButtonBar 인스턴스의 dataProvider 속성에 할당됩니다.

도움 주셔서 감사합니다.

답변

1

Flex 4의 경우이 작업을 수행하기위한 실제 쉬운 방법은 없습니다. 좋은 생각입니다. 대신 그들은 ElementExistenceEvent.RENDERER_ADDElementExistenceEvent.RENDERER_REMOVE을 통해 렌더러에 액세스 할 수 있으므로 어린이의 모든 종류의 이벤트를 검색 할 수 있습니다. 이 밖으로 시도 : 도움이

<?xml version="1.0" encoding="utf-8"?> 
<s:Application 
    xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx"> 

    <fx:Script> 
     <![CDATA[ 

      import mx.core.IVisualElement; 
      import spark.events.RendererExistenceEvent; 

      protected function rendererAddHandler(event:RendererExistenceEvent):void 
      { 
       var element:IVisualElement = event.renderer; 
       element.addEventListener(MouseEvent.MOUSE_MOVE, renderer_mouseMoveHandler); 
      } 

      protected function rendererRemoveHandler(event:RendererExistenceEvent):void 
      { 
       var element:IVisualElement = event.renderer; 
       element.removeEventListener(MouseEvent.MOUSE_MOVE, renderer_mouseMoveHandler); 
      } 

      protected function renderer_mouseMoveHandler(event:MouseEvent):void 
      { 
       trace(event.currentTarget.label); 
      } 

     ]]> 
    </fx:Script> 

    <s:ButtonBar id="buttonBar" 
     rendererAdd="rendererAddHandler(event)" 
     rendererRemove="rendererRemoveHandler(event)"> 
     <s:dataProvider> 
      <mx:ArrayList source="[one, two, three, four]"/> 
     </s:dataProvider> 
    </s:ButtonBar> 
</s:Application> 

희망, 랜스

+1

랜스, 매우 도움이되는 설명과 간결한 예를 들어 주셔서 감사합니다. – Tim

0

당신은 단순히 스파크 ButtonBar 컨트롤의 itemRollOver 이벤트를 사용할 수 있습니다.

+1

주 -이 이벤트는 Flex 4.5 이상에서만 사용 가능합니다. http://help.adobe.com/ko_KR/FlashPlatform/reference/actionscript/3/spark/components/supportClasses/ListBase.html#event:itemRollOver – JabbyPanda