Publiquei a alguns dias um exemplo do Fabiel Prestes de Alerta de Mensagem similar ao MSN. Fiz um exemplo bem parecido com o exemplo mostrado.
JanelaMensagem.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
width="200"
height="150"
styleName="opaquePanel"
layout="vertical"
creationCompleteEffect="{EfeitoJanelaCima}"
removedEffect="{EfeitoJanelaBaixo}"
creationComplete="init()"
showCloseButton="true"
close="{fechaJanela()}"
verticalScrollPolicy="auto" horizontalScrollPolicy="off"
moveEffect="Move">
<mx:Move xTo="{Application.application.width - this.width}"
xFrom="{Application.application.width- this.width}"
yTo="{Application.application.height - (this.height*ordem)}"
yFrom="{Application.application.height}"
id="EfeitoJanelaCima"
duration="500"/>
<mx:Move xTo="{Application.application.width - this.width}"
xFrom="{Application.application.width- this.width}"
yTo="{Application.application.height}"
yFrom="{Application.application.height- (this.height*ordem)}"
id="EfeitoJanelaBaixo"
duration="500"/>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.CloseEvent;
import com.adobe.ac.mxeffects.Pop;
import mx.managers.PopUpManager;
import mx.controls.Alert;
import flash.utils.setTimeout;
import mx.core.Application;
[Bindable] public var ordem : int = 1;
[Bindable] public var tempo : int = 0;
[Bindable] private var idTimeOut : uint;
[Bindable] public var arrLista : ArrayCollection;
private function init():void
{
if(tempo > 0)
idTimeOut = setTimeout(fechaTempo,tempo*1000);
this.addEventListener(Event.CLOSE,function (e:Event):void
{
for(var i:int=arrLista.getItemIndex(e.currentTarget)+1; i< arrLista.length ; i++)
JanelaMensagem(arrLista.getItemAt(i)).moveBaixo();
arrLista.removeItemAt(arrLista.getItemIndex(e.currentTarget));
});
this.ordem = arrLista.length+1;
arrLista.addItem(this);
}
public function moveBaixo():void
{
this.move(this.x,(this.y+this.height));
ordem--;
}
private function fechaTempo():void
{
dispatchEvent(new Event(CloseEvent.CLOSE));
fechaJanela();
}
private function fechaJanela():void
{
PopUpManager.removePopUp(this);
clearTimeout(idTimeOut);
}
]]>
</mx:Script>
</mx:TitleWindow>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
width="200"
height="150"
styleName="opaquePanel"
layout="vertical"
creationCompleteEffect="{EfeitoJanelaCima}"
removedEffect="{EfeitoJanelaBaixo}"
creationComplete="init()"
showCloseButton="true"
close="{fechaJanela()}"
verticalScrollPolicy="auto" horizontalScrollPolicy="off"
moveEffect="Move">
<mx:Move xTo="{Application.application.width - this.width}"
xFrom="{Application.application.width- this.width}"
yTo="{Application.application.height - (this.height*ordem)}"
yFrom="{Application.application.height}"
id="EfeitoJanelaCima"
duration="500"/>
<mx:Move xTo="{Application.application.width - this.width}"
xFrom="{Application.application.width- this.width}"
yTo="{Application.application.height}"
yFrom="{Application.application.height- (this.height*ordem)}"
id="EfeitoJanelaBaixo"
duration="500"/>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.CloseEvent;
import com.adobe.ac.mxeffects.Pop;
import mx.managers.PopUpManager;
import mx.controls.Alert;
import flash.utils.setTimeout;
import mx.core.Application;
[Bindable] public var ordem : int = 1;
[Bindable] public var tempo : int = 0;
[Bindable] private var idTimeOut : uint;
[Bindable] public var arrLista : ArrayCollection;
private function init():void
{
if(tempo > 0)
idTimeOut = setTimeout(fechaTempo,tempo*1000);
this.addEventListener(Event.CLOSE,function (e:Event):void
{
for(var i:int=arrLista.getItemIndex(e.currentTarget)+1; i< arrLista.length ; i++)
JanelaMensagem(arrLista.getItemAt(i)).moveBaixo();
arrLista.removeItemAt(arrLista.getItemIndex(e.currentTarget));
});
this.ordem = arrLista.length+1;
arrLista.addItem(this);
}
public function moveBaixo():void
{
this.move(this.x,(this.y+this.height));
ordem--;
}
private function fechaTempo():void
{
dispatchEvent(new Event(CloseEvent.CLOSE));
fechaJanela();
}
private function fechaJanela():void
{
PopUpManager.removePopUp(this);
clearTimeout(idTimeOut);
}
]]>
</mx:Script>
</mx:TitleWindow>
Usando.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"
verticalScrollPolicy="off" horizontalScrollPolicy="off">
<mx:Button x="227" y="174" label="Abrir Janela" click="abrir()" height="100" width="226" fontSize="14"/>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Text;
import mx.controls.Label;
import mx.controls.Alert;
import mx.events.StateChangeEvent;
import mx.events.FlexEvent;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
[Bindable] private var arrListaJanela : ArrayCollection = new ArrayCollection();
public function abrir():void
{
var janela1 : JanelaMensagem = new JanelaMensagem();
var texto : Text = new Text();
janela1.title='luizdeangeli.blogspot.com'
janela1.tempo = 10;
janela1.arrLista = arrListaJanela;
texto.width=175;
texto.setStyle("color","red");
texto.text='Esta é uma mensagem do blog do Luiz. Esta é uma mensagem do blog do Luiz. Esta é uma mensagem do blog do Luiz.';
janela1.addChild(texto);
PopUpManager.addPopUp(janela1,this,false);
}
]]>
</mx:Script>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"
verticalScrollPolicy="off" horizontalScrollPolicy="off">
<mx:Button x="227" y="174" label="Abrir Janela" click="abrir()" height="100" width="226" fontSize="14"/>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Text;
import mx.controls.Label;
import mx.controls.Alert;
import mx.events.StateChangeEvent;
import mx.events.FlexEvent;
import mx.events.CloseEvent;
import mx.managers.PopUpManager;
[Bindable] private var arrListaJanela : ArrayCollection = new ArrayCollection();
public function abrir():void
{
var janela1 : JanelaMensagem = new JanelaMensagem();
var texto : Text = new Text();
janela1.title='luizdeangeli.blogspot.com'
janela1.tempo = 10;
janela1.arrLista = arrListaJanela;
texto.width=175;
texto.setStyle("color","red");
texto.text='Esta é uma mensagem do blog do Luiz. Esta é uma mensagem do blog do Luiz. Esta é uma mensagem do blog do Luiz.';
janela1.addChild(texto);
PopUpManager.addPopUp(janela1,this,false);
}
]]>
</mx:Script>
</mx:Application>
0 comentários:
Postar um comentário