Eu fiz de um jeito aqui, mas depois que eu fecho trava o sistema.....
Adiciono o panel no NavigatorContent
//Cria tela no form principal
private function chamaTelaMenu(event:Event):void {
//definition é o tipo da classe de acordo com a propriedade
var definicao:Class =
getDefinitionByName(event.currentTarget.selectedItem.@data) as Class;
//através do definition, gera uma instancia nova do tipo, Uma nova janela
da tela
var myInstance:spark.components.Panel = new definicao();
// Adiciona a instancia ao da aplicação ou componente utilizado,
// mesmo que o tipo/instancia seja de outro módulo
var nvTela:NavigatorContent = new NavigatorContent();
//Adciona o nome da tela de acordo com o label do menu
nvTela.label = event.currentTarget.selectedItem.@label;
nvTela.x=0;
nvTela.y=0;
nvTela.addElement(myInstance);
this.vwPrincipal.addElement(nvTela);
//adiciona o novo indice da tela para abrir em foco
indexTelas++;
//adiciona o indice no view stack para abrir em foco a nova tela chamada
vwPrincipal.selectedIndex = indexTelas;
//adciona o index da tela para utilizar no fechar da tela atual
indexTelaRemover = indexTelas;
}
na tela principal coloquei um botão para fechar esse panel que abri, então
nesse botão coloquei o metodo removendo o elemento do viewStack pelo index
do nvTela (NavigatorContent)
<mx:Button id="btFec" width="20" height="20"
chromeColor="#000000" color="#FFFFFF"
cornerRadius="0" fontWeight="bold"
labelPlacement="right" paddingLeft="0"
upSkin="@Embed('assets/Inn/fechar.png')"
overSkin="@Embed('assets/Inn/fechardown.png')"
downSkin="@Embed('assets/Inn/fechar.png')"
toolTip="Fechar Tela"
>
<mx:click>
<![CDATA[
if (indexTelaRemover != 0) {
vwPrincipal.removeElementAt(indexTelaRemover);
}
]]>
</mx:click>
</mx:Button>
A tela fecha, mas quando vou clicar em um botão qualquer da tela principal
trava....
Alguém pode me ajudar por favor ?
Já estou há alguns dias e não consigo....
Em domingo, 3 de novembro de 2013 20h31min51s UTC-2, Robinho de Morais
escreveu:
>
> Boa noite pessoal....
>
> Coloquei em um tree o meu menu e chamo minhas telas em um viewStack dessa
> maneira:
>
> //Cria tela no form principal
> private function chamaTelaMenu(event:Event):void {
>
> //definition é o tipo da classe de acordo com a propriedade
> var definicao:Class =
> getDefinitionByName(event.currentTarget.selectedItem.@data) as Class;
> //através do definition, gera uma instancia nova do tipo, Uma nova janela
> da tela
> var myInstance:spark.components.Panel = new definicao();
> // Adiciona a instancia ao da aplicação ou componente utilizado,
> // mesmo que o tipo/instancia seja de outro módulo
> var nvTela:NavigatorContent = new NavigatorContent();
> //Adciona o nome da tela de acordo com o label do menu
> nvTela.label = event.currentTarget.selectedItem.@label;
> nvTela.x=0;
> nvTela.y=0;
> nvTela.addElement(myInstance);
> this.vwPrincipal.addElement(nvTela);
>
> //adiciona o novo indice da tela para abrir em foco
> indexTelas++;
> //adiciona o indice no view stack para abrir em foco a nova tela
> chamada
> vwPrincipal.selectedIndex = indexTelas;
> //this.nvTela.icon = event.currentTarget.selectedItem.@icon;
> }
>
>
> Meu view Stack
>
> <mx:ViewStack id="vwPrincipal" width="100%" height="333"
> borderVisible="false">
> <s:NavigatorContent id="nvTelas" width="100%" height="100%"
> icon="@Embed('assets/Inn/home.png')" label="Menu">
> </s:NavigatorContent>
> </mx:ViewStack>
>
>
> Agora eu queria é fechar essa tela que abriu, então na tela (panel) quero
> colocar um botão de fechar para fechar ela que está aberta, como faço para
> fechar ?
>
--
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
---
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.