2 Replies Latest reply on Oct 23, 2009 12:15 AM by ckisthebest

    Dynamic width of text area

    Seglespaan Level 1

      Hi,

       

      I'm using the rogue development object handles plugin to allow me to resize and drag n drop elements,

       

      I want to be able to create a text area that automatically resizes to the same size as the object handle, which is ok if I code the element on th stage from the off and would do so like this

       

      <oh:ObjectHandles id="object_handle" width="20" height="20">
              <mx:TextArea width="{object_handle.width}" height="{object_handle.height}" text="test">
                 
              </mx:TextArea>

      </oh:ObjectHandles>

       

       

      However I want to create an oobject handle with a text area on the fly as and when the user requires, but I can't work out how to bind the width and height of the text area to that of the object handle so that it resizes with it!

       

      I've tried this

       

                     ohNew = new ObjectHandles();
                     ohNew.id = "oh";

                     ohNew.width = 10;                          
                     ohNew.height = 20;
                    
                     taNew = new TextArea();

                     taNew.id = "ta";

                     taNew.width =    ohNew .width;

                     taNew.height = ohNew.height;           
                     
                     ohNew.addChild(taNew);

       

      but it doesn't seem to work, any help would be appreciated,

       

      Cheers

       

      Tim

        • 1. Re: Dynamic width of text area
          Subeesh Arakkan Level 4

          Try   taNew.percentWidth = 100; instead of taNew.width =    ohNew .width;

          • 2. Re: Dynamic width of text area
            ckisthebest Level 1

            The code below will allow you to increase dynamic height of text area, you can not increase width dynamically.

            You need to include import mx.core.mx_internal in project. If you look at any application like power point, word and so many they increase height based on text not width.

             

             

             

            ohNew = new ObjectHandles();

                           ohNew.id = "oh";

                           ohNew.width = 10;                          

                           ohNew.height = 20;

             

                           taNew = new TextArea();

                           taNew.id = "ta";

                           taNew.width =    ohNew .width;

                           taNew.height = ohNew.height;  

                           taNew .addEventListeber(TextEvent.TEXT_INPUT,textinputEvent);

             

             

             

            private function textinputEvent(event:TextEvent):void

            {

            ta.callLater( resizeText);

            }

             

            public function resizeText():void

            {

            taNew .mx_internal::getTextField().autoSize = TextFieldAutoSize.LEFT;

            taNew .height = taNew .mx_internal::getTextField().height;

            taNew .parent.height = taNew .height;

            }