Как загрузить динамические события во Flex - PullRequest
0 голосов
/ 17 мая 2010

У меня небольшое гибкое приложение.

<mx:Script>
    <![CDATA[

        import flash.events.Event;

        // Event handler function to print a message
        // describing the selected Button control.        
        private function printMessage(event:Event):void  {
          message.text += event.target.label + " pressed" + "\n";
        }

  ]]>
</mx:Script>

<mx:Panel title="Button Control Example" 
    height="75%" width="75%" layout="horizontal" 
    paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">

    <mx:VBox>
        <mx:Label width="100%" color="blue"
            text="Select a Button control."/>

         <!-- The button can contain an image, as in the "Button with Icon" button -->
         <mx:Button id="iconButton" icon="@Embed('assets/mm-icon.png')" label="Button with Icon"
             labelPlacement="right" color="#993300" click="printMessage(event);"/>

         <!-- The size of the button and the label attributes can be customized -->
         <mx:Button label="Customized Button" color="#993300" toggle="true" selected="true"
             textAlign="left" fontStyle="italic" fontSize="13" width="{iconButton.width}" 
             click="printMessage(event);"/>

         <!-- By default, the look and feel of the customized button is 
             similar to the Default Button.  -->
         <mx:Button label="Default Button" click="printMessage(event);"/>
    </mx:VBox>

     <mx:TextArea id="message" text="" editable="false" height="100%" width="100%"
         color="#0000FF"/>

</mx:Panel>

Я хочу, чтобы мой пользователь передавал сценарий в качестве параметра. поэтому он может делать что угодно с кнопками -> добавить событие, скрыть другие кнопки.

Примерно так (ниже)

Спасибо.

1 Ответ

0 голосов
/ 17 мая 2010

Если я понял, вам нужно просто создать динамическое событие и загрузить его в какой-нибудь компонент, верно? Если это так, то его очень легко реализовать.

Просто создайте свое собственное событие (наследование от Event) или используйте само событие:

var event:Event = new Event("[Your event type here"],[bubbles?],[cancelable?]);

, а затем добавьте прослушиватель для нужного компонента в тот же «тип события».

Если вам нужно, вы также можете программно отправить это событие из требуемого компонента следующим образом:

[you component].dispatchEvent(event);

но затем вы должны убедиться, что этот компонент расширяет класс EventDispatcher.

Надеюсь, я помог.

Royee

...