Flash / Flex / ActionScript/TextField/Input Field

Материал из Web эксперт
Перейти к: навигация, поиск

Formatting user input

 
package {
  import flash.display.*;
  import flash.text.*;
  import flash.events.*;
  public class Main extends Sprite {
    public function Main(  ) {
      var boldFormat:TextFormat = new TextFormat(  );
      boldFormat.bold = true;
      var italicFormat:TextFormat = new TextFormat(  );
      italicFormat.italic = true;
      var t:TextField = new TextField(  );
      t.text = "lunchtime";
      t.setTextFormat(italicFormat, 0, 5);
      t.setTextFormat(boldFormat, 5, 9);
      t.type = TextFieldType.INPUT;
      t.addEventListener(TextEvent.TEXT_INPUT, textInputListener);
      addChild(t);
    }
    private function textInputListener (e:TextEvent):void {
      var t:TextField = TextField(e.target);
      e.preventDefault(  );
      t.replaceText(t.caretIndex, t.caretIndex, e.text);
      var regularFormat:TextFormat = new TextFormat(  );
      regularFormat.bold   = false;
      regularFormat.italic = false;
      t.setTextFormat(regularFormat,
                      t.caretIndex,
                      t.caretIndex+e.text.length)
      var newCaretIndex:int = t.caretIndex + e.text.length;
      t.setSelection(newCaretIndex, newCaretIndex);
    }
  }
}



Making a User Input Field

 
package {
  import flash.display.Sprite;
  import flash.text.TextField;
  import flash.text.TextFieldType;
  
  public class Main extends Sprite {
    public function Main(  ) {
      var field:TextField = new TextField(  );
      field.type = TextFieldType.INPUT;
      field.border = true;
      field.background = true;
      addChild(field);
    }
  }
}