1.new 一个Component,代码如下(用户登陆的一个面板,继承Panel):
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300" borderColor="#19A612" title="登陆表单">
<mx:Metadata>
[Event(name="LoginEvent",type="flash.events.Event")] //增加元数据,注意没有;号,LoginEvent是事件名称,type是类型
</mx:Metadata>
<mx:Script>
<![CDATA[
internal function onClick(evt:MouseEvent):void{
dispatchEvent(new Event("LoginEvent")); //发布事件 相当于this.dispatchEvent(new Event("LoginEvent"));
}
]]>
</mx:Script>
<mx:Label x="41" y="63" text="用户名"/>
<mx:Label x="41" y="131" text="密码"/>
<mx:TextInput x="110" y="61" id="txtname"/>
<mx:TextInput x="110" y="129" id="txtpwd" displayAsPassword="true"/>
<mx:Button x="110" y="174" label="登陆" id="btnlog" click="onClick(event)" width="63" height="29" fontSize="12" fontWeight="bold" fontFamily="Courier New"/>
</mx:Panel>
调用页面(Application拖入这个自定控件),代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
internal function login(evt:Event):void{
Alert.show("你成功登陆了","提示信息");
}
]]>
</mx:Script>
<ns1:LoginForm x="336" y="272" LoginEvent="login(event)">
</ns1:LoginForm>
</mx:Application>