Faca isso no measure

Da uma olhada aqui:
http://maohao.wordpress.com/2009/02/02/6-steps-in-creating-custom-uicomponent-in-flex-halo-framework/


On 21 nov, 16:55, Lucas Bueno <uatprip...@gmail.com> wrote:
> Achei mesmo que essas funções resolveriam.
> Mas nada acontenceu.
>
>       private function completeHandler(e:FlexEvent):void
>                 {
>                         Alert.show("initialized: "+btn.initialized+"sizes
> ["+btn.measuredWidth+"x"+btn.measuredHeight+"]");
>                         btn.invalidateSize();
>                         btn.invalidateDisplayList();
>
>                 }
>
> On 21 nov, 15:11, J.C.Ködel <jcko...@gmail.com> wrote:
>
> > Hmmm... é que eu sempre trabalho com tamanhos fixos. Não gosto de botões de
> > tamanhos diferentes no mesmo componente.
>
> > Vendo o source code do button aqui, tem duas funções que podem ajudar:
> >             invalidateSize();
> >             invalidateDisplayList();
>
> > --------------------------------------------------
> > From: "Lucas Bueno" <uatprip...@gmail.com>
> > Sent: Saturday, November 21, 2009 4:05 PM
> > To: "flexdev" <flexdev@googlegroups.com>
> > Subject: [flexdev] Re: Component Extends - Filhos da mãe não iniciam
> > corretamente
>
> > > E ae Ködel, belê?
>
> > > Mas para isso eu precisaria calcular o tamanho da string e se tem um
> > > icone definido ou não.
> > > Gostaria que este botão mantivesse suas propriedades de "autosize".
>
> > > No envento createHandler consigo acessar o measuredWidth e
> > > measuredHeight do botão e assim determinar seu tamanho correto.
> > > Porém ainda não sei o que  vai acontecer se o label for alterado
> > > depois que o objecto Mae ja tiver sido criado.
>
> > > Eu achei bem esquisito o botão não assumir seu tamanho, como deveria,
> > > já que parece que o measure() foi executado.
> > > Mais ainda quando coloquei um breakpoint na função createHandler e
> > > rodei o debug. Os valores width e height assumem measuredWidth e
> > > measuredHeight e o danado aparece corretamente na tela.
>
> > > Será que isso é um erro do flex, ou erro está entre o computer e a
> > > cadeira?
>
> > > Valeu,abração
>
> > > On 21 nov, 14:50, J.C.Ködel <jcko...@gmail.com> wrote:
> > >> Sete o tamanho dos botões logo após criá-los.
>
> > >> --------------------------------------------------
> > >> From: "Lucas Bueno" <uatprip...@gmail.com>
> > >> Sent: Saturday, November 21, 2009 3:45 PM
> > >> To: "flexdev" <flexdev@googlegroups.com>
> > >> Subject: [flexdev] Component Extends - Filhos da mãe não iniciam
> > >> corretamente
>
> > >> > Estou tentando criar um componente.
> > >> > Este componente terá um botão.
>
> > >> > O que está pegando é que este botão sempre aparece com width e height
> > >> > = 0, mesmo após o creationComplete.
>
> > >> > Se eu coloco um breakpoint na função completeHandler e rodo o debug,
> > >> > após clicar no botão "resume" e voltar por navegador o filha da mãe
> > >> > aparece
>
> > >> >        public class Mae extends UIComponent
> > >> > {
> > >> > public var btn:Button;
> > >> > public var btnLabel:String = "Filha da Mãe";
>
> > >> > public function Mae()
> > >> > {
> > >> > super();
> > >> > addEventListener(FlexEvent.CREATION_COMPLETE,completeHandler)
>
> > >> > }
> > >> >        private function completeHandler(e:FlexEvent):void
> > >> > {
> > >> > Alert.show("initialized: "+btn.initialized+"sizes
> > >> > ["+btn.measuredWidth+"x"+btn.measuredHeight+"]");
> > >> > }
> > >> > protected override function createChildren():void
> > >> > {
> > >> > super.createChildren();
>
> > >> > if(!btn)
> > >> > {
> > >> > btn = new Button();
> > >> > btn.label=btnLabel;
> > >> > addChild(btn);
> > >> > }
> > >> > }
>
> > >> > }
>
> > >> > Alguma boa alma sabe o que se passa?
>
> > >> > Saudação à turma da lista, alto nível.....
>
> > >>  smime.p7s
> > >> 6KExibirDownload
>
> >  smime.p7s
> > 6KExibirDownload
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a