Relooked at your code, wondering why are you doing this:

> > measuredMinHeight = measuredHeight = this.textField.height;

Is it really required? I think, its not neccessary and because of that your code is not working. You are right, textField might not have initialized.. But I think, measurement should still work, you don't need to explictly set measureHeights..

Try commenting that statement.,.

-abdul

On 9/6/06, ben.clinkinbeard <[EMAIL PROTECTED] > wrote:

Thanks for the reply Abdul. However, if I remove the
FlexEvent.CREATION_COMPLETE listener, the checkboxes overlap each
other. Until I roll over them that is... once I roll over them they
each pop into the correct, non-overlapping position. I believe the
problem is that the textbox has not yet resized when INITIALIZE is
called. The behavior is virtually identical if I remove the INITIALIZE
listener, leaving only CREATION_COMPLETE; the items overlap until they
are rolled over. Very strange.

Any ideas?

Thanks,
Ben



--- In [email protected], "Abdul Qabiz" <[EMAIL PROTECTED]> wrote:
>
> I believe, you should use INITIALIZE in your case. I see, you are
setting
> measuredMinHeight in doStuff (..) method..
>
> Initialize would dispatached before any layouting or measuring
happens (or
> before updateDisplayList (..) is invoked?)..
>
> However, please check out..
>
> -abdul
>
> On 9/6/06, ben.clinkinbeard <[EMAIL PROTECTED]> wrote:
> >
> > Hello, I have created a CheckBox whose label can accomodate
multiline
> > text by constructing a CheckBox subclass (mockingly) named
> > SuperCheckBox. I am adding a set of them to a VBox inside a loop, but
> > in order to get them properly spaced (not overlapping), I am having to
> > call both FlexEvent.INITIALIZE and FlexEvent.CREATION_COMPLETE. I know
> > I am doing something wrong and shouldn't have to call both, but can't
> > figure out which event is fired once the whole SuperCheckbox component
> > is done resizing its text box. Any help is appreciated; my code is
below.
> >
> > // in my Canvas
> > vb = VBox(addChild(new VBox()));
> > vb.setStyle("verticalGap", 20);
> > vb.addEventListener("newChildAdded", updateVBox);
> >
> > for(var i:int = 0; i < labelsArray.length; i++)
> > {
> > var cb:SuperCheckBox = new SuperCheckBox();
> > cb.label = labelsArray[i];
> > cb.width = 400;
> > vb.addChild(cb);
> > }
> >
> > private function updateVBox(event:Event):void
> > {
> > vb.invalidateDisplayList();
> > }
> >
> > // **** SuperCheckBox.as ***
> > package
> > {
> > import mx.controls.CheckBox;
> > import mx.events.FlexEvent;
> > import flash.text.TextFieldAutoSize;
> > import flash.events.Event;
> >
> > public class SuperCheckBox extends CheckBox
> > {
> > public function SuperCheckBox()
> > {
> > super();
> > addEventListener(FlexEvent.INITIALIZE, doStuff);
> > addEventListener(FlexEvent.CREATION_COMPLETE, doStuff);
> > }
> >
> > private function doStuff(event:Object):void
> > {
> > this.textField.wordWrap = true;
> > this.textField.autoSize = TextFieldAutoSize.LEFT;
> > this.textField.border = true;
> > measuredMinHeight = measuredHeight = this.textField.height;
> > dispatchEvent(new Event("newChildAdded", true));
> > }
> >
> > override protected function measure():void
> > {
> > super.measure();
> > measuredMinHeight = measuredHeight = this.textField.height;
> > }
> > }
> > }
> >
> > Thanks,
> > Ben
> >
> >
> >
>


__._,_.___

--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com





SPONSORED LINKS
Software development tool Software development Software development services
Home design software Software development company


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to