A forma correta é fazer o click do botão do componente disparar um evento
customizado, desta forma qualquer outro que o utilizar poderá escutar o
evento e executar o método que lhe convier.

Em 20 de novembro de 2011 02:10, Cristian Edson Göhl <[email protected]
> escreveu:

> Opa Marcelo,
>
> cara tu até poderia fazer algo utilizando assim:
>
>
>           protected function bMarcelo_clickHandler(event:**
> MouseEvent):void
>           {
>               //codigo
>           }
>
>           protected function bMarcelo_clickHandler2(event:**
> MouseEvent):void
>           {
>               //codigo
>           }
>
>           bMarcelo.removeEventListener(**MouseEvent.CLICK,
> bMarcelo_clickHandler); // Assim você remove um evento.
>           bMarcelo.addEventListener(**MouseEvent.CLICK,
> bMarcelo_clickHandler2); // Assim adiciona um evento.
>
> Nesse sentido você conseguiria fazer funcionar, porém teria que ter
> cuidado de sempre remover um evento adicionado, para não ficar com mais de
> 1.
>
> Não aconselho fazer algo deste tipo.
>
> Use alguma outra verificação para saber o que fazer, talvez até pelo text
> do button,
>
>               if (bMarcelo.label == "asd")
>               {
>                   // Fazer tal coisa.
>               }
>               else
>               {
>                   // tal coisa
>               }
>
> Assim só precisa uma função, que já pode deixar definida no click pelo
> mxml, é mais rápido, menos código, e mais fácil de entender.
>
> Abraço.
> -----Original Message----- From: Marcelo A
> Sent: Saturday, November 19, 2011 11:51 PM
> To: [email protected]
> Subject: [flexdev] mudar click do botao que esta em um componente
>
>
> Pessoal,
>
> tenho um componente que é um Panel e nele tenho um botao.
> Na minha aplicacao chamo esse componente e altero o label do botao por
> exemplo. O que eu nao sei é como faço para passar para o click do
> botao a function que desejo.
> Pois posso ter esse componente Panel em dois momentos diferentes da
> minha aplicacao e quero que ele tenha funcionalidades diferentes no
> click do botao.
>
> Abaixo coloco o exemplo que estou falando.
>
> Obrigado.
> []'s
> Marcelo
>
> Componente:
>
> <s:Panel 
> xmlns:fx="http://ns.adobe.com/**mxml/2009<http://ns.adobe.com/mxml/2009>
> "
> xmlns:s="library://ns.adobe.**com/flex/spark<http://ns.adobe.com/flex/spark>
> "
> xmlns:mx="library://ns.adobe.**com/flex/mx <http://ns.adobe.com/flex/mx>"
> width="250" height="200" title="{labelpanel}" >
> <fx:Declarations>
> <!-- Place non-visual elements (e.g., services, value objects) here -->
> </fx:Declarations>
> <fx:Script>
> <![CDATA[
> [Bindable]
> public var labelBtn;
>
> [Bindable]
> public var labelpanel;
>
> ]]>
> </fx:Script>
> <s:Button x="89" y="118" label="{labelBtn}" id="btnGrupo"   />
> <s:TextInput id="descricaoGrupo" x="89" y="43" />
> <s:Label x="37" y="49" text="Grupo"/>
> </s:Panel>
>
>
> Aplicacao
>
> <comp:GrupoComp labelBtn="Inserir" labelpanel="Cadastro"
> id="painelCadastroGrupo" />
>
> --
> 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 flexdev-unsubscribe@**
> googlegroups.com <[email protected]>
> Mais opções estão disponíveis em 
> http://groups.google.com/**group/flexdev<http://groups.google.com/group/flexdev>
> --
> 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 flexdev-unsubscribe@**
> googlegroups.com <[email protected]>
> Mais opções estão disponíveis em 
> http://groups.google.com/**group/flexdev<http://groups.google.com/group/flexdev>
>



-- 
Clayton Marques Pereira

-- 
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

Responder a