Bom, se o seu main.mxml que chama os outros componentes for o application,
você pode fazer assim de qualquer lugar:

Application.application.id_do_componente.metodo();

ou

Application.application.id_do_canvas.visible = false;
Application.application.id_do_canvas.includeInLayout = false;

O visible esconde e o includeInLayout faz com que ele não seja desenhado na
tela e não ocupe o espaço onde ele está colocado.

[]'s
André Gil.

On 2/2/07, Giancarlo Faccio Hammes <[EMAIL PROTECTED]> wrote:
>
>  Senhores,
> fiz os testes e ainda não consegui fazer a coisa funcionar. :-(
> Oque acontece é o seguinte, tenho um arquivo que define a minha barra de
> menu (b_menuprinc.mxml) e outro que é um canvas(b_canvascli.mxml). Oque o
> sistema deve fazer é, no click na opção do menu, alterar a propriedade
> visible do canvas. Além desses dois ainda tenho um arquivo principal(
> main.mxml) onde eu chamo os componentes e um script (b_interface.as) que é
> o script que fará a alteração da propriedade. Se *incluo* o o arquivo de
> script no arquivo b_menuprinc.xml ele diz que não reconhece a function
> definida no Click do menu. Se eu insiro o script *direto* no arquivo
> b_menuprinc.mxml, ele reconheçe a função mas acontece aquele velho problema
> da ID do canvas (ele não sabe quem é). Alguém pode dar uma mão? É que eu to
> aprendendo... hehe
> Obrigado!
> --
> Giancarlo Faccio Hammes
> Analista de T.I
> Setor de Tecnologia da Informação
> Unimed Extremo Oeste Catarinense
> email: [EMAIL PROTECTED]
> msn: [EMAIL PROTECTED]
> skype: nefariun_ec
> (49) 36312204
> (49) 88012357 (Celular TI)
>
> ----- Original Message -----
> *From:* André Gil <[EMAIL PROTECTED]>
> *To:* [email protected]
> *Sent:* Thursday, February 01, 2007 1:29 PM
> *Subject:* [flexdev] Re: Componentes
>
> Depende muito do componente que você estiver fazendo. Se você for
> manipular ele, faça o script fora mesmo. Mas se você precisar que ele tenha
> algum método que vai sempre ser chamado de fora, por exemplo, vai precisar
> criar o script dentro dele como Public. E lá dentro, só o this para acessar
> as propriedades dele mesmo.
>
> No Flex, tudo são componentes. Não sei se você já segurou o CTRL e clicou
> em algum componente do Flex no Flex Builder, ele te leva direto para o
> código do componente. Lá eles nunca usam o ID. O ID você passa quando vai
> usar o componente, na criação de uma instância dele.
>
> []'s
>
> On 2/1/07, Giancarlo Faccio Hammes <[EMAIL PROTECTED]> wrote:
> >
> >  Bom, colocar um script dentro do componente era oque eu estava tentando
> > evitar mas como não tem outro jeito.
> > Deve haver um bom motivo pra não ser permitido dar uma id para a tag
> > principal.
> > Eu vou testar então mas.. será que se eu der um include no componente de
> > um arquivo de script ele vai entender o this? hehe
> > agradeço a atenção de todos...
> > mais uma dúvida solucionada...
> > :-D
> > --
> > Giancarlo Faccio Hammes
> > Analista de T.I
> > Setor de Tecnologia da Informação
> > Unimed Extremo Oeste Catarinense
> > email: [EMAIL PROTECTED]
> > msn: [EMAIL PROTECTED]
> > skype: nefariun_ec
> > (49) 36312204
> > (49) 88012357 (Celular TI)
> >
> > ----- Original Message -----
> > *From:* André Gil <[EMAIL PROTECTED]>
> > *To:* [email protected]
> >  *Sent:* Thursday, February 01, 2007 10:30 AM
> > *Subject:* [flexdev] Re: Componentes
> >
> > Giancarlo,
> >
> > Então, eu tinha dito que você pode usar o ID na hora de chamar o
> > componente, como o Fábio disse, mas isso só vai ajudar se você tiver um
> > Script na aplicação e quiser manipular o componente. Por exemplo:
> >
> > <mx:application>
> >    <mx:script>
> >       private function teste():void{
> >         myComponent.width = 100;
> >       }
> >    </mx:script>
> >
> >    <c1:componente id="myComponent" />
> > </mx:application>
> >
> > Mas se você precisar criar o <script> dentro do componente, você pode
> > usar assim:
> >
> > <mx:script>
> >    private function teste():void{
> >       this.width = 100;
> >    }
> > <mx:script>
> >
> > Os exemplos devem estar errados, mas foi só pra mostrar a idéia, hehehe.
> >
> > []'s
> > André Gil
> >
> >
> > On 2/1/07, João Fernandes < [EMAIL PROTECTED]> wrote:
> > >
> > >  Giancarlo,
> > >
> > >
> > >
> > > Como já foi explicado, pode usar this para referênciar o componente em
> > > questão.
> > >
> > >
> > >
> > > Se usar
> > >
> > > <mx:Canvas xmlns:mx="blablablala"   >
> > >
> > >
> > >
> > > <mx:Script>
> > >
> > >                 Function minhafuncao():void{
> > >
> > >                                this.width = this.width + 30;
> > >
> > > }
> > >
> > > </mxScript>
> > >
> > > </mx:Canvas>
> > >
> > >
> > >
> > > O que vai fazer é quando chamar a função minhafuncao, o seu componente
> > > vai aumentar de 30 pixeis em largura. O scope this referece sempre ao
> > > componente externo onde se está a executar o código. Não precisa de dar um
> > > id ao seu componente, aliás, não consegue mesmo.
> > >
> > >
> > >
> > > João Fernandes
> > >
> > >
> > >
> > > *From:* [email protected] [mailto:[EMAIL PROTECTED] *On
> > > Behalf Of *Giancarlo Faccio Hammes
> > > *Sent:* quinta-feira, 1 de Fevereiro de 2007 11:46
> > > *To:* [email protected]
> > > *Subject:* [flexdev] Re: Componentes
> > >
> > >
> > >
> > > Desculpe André, mas não entendi direito.
> > >
> > > Na verdade o problema ocorre não no Action Script e sim na hora de
> > > compilar o projeto do componente. O Flex apresenta uma crítica ao código 
> > > do
> > > componente onde diz que não se pode dar uma id para a tag principal. Por
> > > exemplo:
> > >
> > > quando crio um componente baseado em Canvas e coloco uma id para essa
> > > tag:
> > >
> > > <mx:canvas id="canvasteste">
> > >
> > > ele me diz que não é possivel definir uma id para a tag root do
> > > componente.
> > >
> > > então não sei como manipular uma propriedade de canvas através de
> > > action script sem poder dar um nome a ele. posso fazer uma gambiarra....
> > >
> > > <mx:canvas>
> > >
> > >     <mx:canvas id="canvasteste">
> > >
> > >     </mx:canvas>
> > >
> > > </mx:canvas.
> > >
> > >
> > >
> > > mas isso é uma engenbração muito da ordinária...
> > >
> > > :-D
> > >
> > > --
> > > Giancarlo Faccio Hammes
> > > Analista de T.I
> > > Setor de Tecnologia da Informação
> > > Unimed Extremo Oeste Catarinense
> > > email: [EMAIL PROTECTED]
> > > msn: [EMAIL PROTECTED]
> > > skype: nefariun_ec
> > > (49) 36312204
> > > (49) 88012357 (Celular TI)
> > >
> > >  ----- Original Message -----
> > >
> > > *From:* André Gil <[EMAIL PROTECTED]>
> > >
> > > *To:* [email protected]
> > >
> > > *Sent:* Thursday, February 01, 2007 9:30 AM
> > >
> > > *Subject:* [flexdev] Re: Componentes
> > >
> > >
> > >
> > > Oi Giancarlo,
> > >
> > > Se eu entendi bem o seu problema, é no Action Script do componente que
> > > você não sabe como chamá-lo?
> > > Se for isso, basta você usar assim:
> > >
> > > this.propriedade = valor;
> > >
> > > Você não pode definir mesmo uma ID no componente, só na utilização
> > > dele. Mas o "this" retorna o componente, não importando qual ID ele tenha.
> > >
> > > []'s
> > > André Gil.
> > >
> > > On 2/1/07, *Daniel Schmitz* <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > > Tente usar ParentApplication
> > >
> > > On 2/1/07, Giancarlo Faccio Hammes < [EMAIL PROTECTED]> wrote:
> > > >
> > > >
> > > > Bom dia Senhores,
> > > > estou separando meus pojetos em componentes e adicionando-os ao meu
> > > mxml
> > > > principal através de mxmlns. Porém, o compilador me avisa que não
> > > posso
> > > > definir uma id pra tag root dos meus componentes. Então como posso
> > > > manipula-los através de scripts sendo que não posso chama-los? Estou
> > > fazendo
> > > > a coisa certa? Existe outra forma de organizar meu mxml em outros
> > > arquivos e
> > > > fazer "includes" no main?
> > > > Agradeço a atenção de todos.
> > > >
> > > >
> > > >
> > > > --
> > > > Giancarlo Faccio Hammes
> > > > Analista de T.I
> > > > Setor de Tecnologia da Informação
> > > > Unimed Extremo Oeste Catarinense
> > > > email: [EMAIL PROTECTED]
> > > > msn: [EMAIL PROTECTED]
> > > > skype: nefariun_ec
> > > > (49) 36312204
> > > > (49) 88012357 (Celular TI)
> > > >  >
> > > >
> > > <BR<BR
> > >
> > >
> > >
> > >
> > >
> >
> >
> >
> >
>
> >
>

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