<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=Flash_%2F_Flex_%2F_ActionScript%2FTextField%2FMouseEvent</id>
		<title>Flash / Flex / ActionScript/TextField/MouseEvent - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=Flash_%2F_Flex_%2F_ActionScript%2FTextField%2FMouseEvent"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/TextField/MouseEvent&amp;action=history"/>
		<updated>2026-04-04T15:57:13Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/TextField/MouseEvent&amp;diff=4514&amp;oldid=prev</id>
		<title> в 09:19, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/TextField/MouseEvent&amp;diff=4514&amp;oldid=prev"/>
				<updated>2010-05-26T09:19:12Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:19, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/TextField/MouseEvent&amp;diff=4515&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/TextField/MouseEvent&amp;diff=4515&amp;oldid=prev"/>
				<updated>2010-05-26T08:14:55Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Add mouse click listener to TextField==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package{&lt;br /&gt;
    import flash.display.GradientType;&lt;br /&gt;
    import flash.display.Sprite;&lt;br /&gt;
    import flash.geom.Matrix;&lt;br /&gt;
    import flash.events.*;&lt;br /&gt;
    import flash.text.*;     &lt;br /&gt;
    public class Main extends Sprite {&lt;br /&gt;
    &lt;br /&gt;
         public function Main() {&lt;br /&gt;
            var t:TextField = new TextField(  );&lt;br /&gt;
            t.text = &amp;quot;click here&amp;quot;;&lt;br /&gt;
            t.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
            stage.addChild(t);&lt;br /&gt;
            &lt;br /&gt;
            stage.addEventListener(MouseEvent.CLICK, clickListener, true);&lt;br /&gt;
            &lt;br /&gt;
            stage.addEventListener(MouseEvent.CLICK, clickListener, false);&lt;br /&gt;
         }&lt;br /&gt;
        private function clickListener (e:MouseEvent):void {&lt;br /&gt;
          var phase:String;&lt;br /&gt;
        &lt;br /&gt;
          switch (e.eventPhase) {&lt;br /&gt;
            case EventPhase.CAPTURING_PHASE:&lt;br /&gt;
            phase = &amp;quot;Capture&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
        &lt;br /&gt;
            case EventPhase.AT_TARGET:&lt;br /&gt;
            phase = &amp;quot;Target&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
        &lt;br /&gt;
            case EventPhase.BUBBLING_PHASE:&lt;br /&gt;
            phase = &amp;quot;Bubbling&amp;quot;;&lt;br /&gt;
            break;&lt;br /&gt;
          }&lt;br /&gt;
          trace(&amp;quot;Current event phase: &amp;quot; + phase);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Clickable TextField==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package{&lt;br /&gt;
    import flash.display.GradientType;&lt;br /&gt;
    import flash.display.Sprite;&lt;br /&gt;
    import flash.geom.Matrix;&lt;br /&gt;
    import flash.text.TextField;     &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    public class Main extends Sprite {&lt;br /&gt;
    &lt;br /&gt;
         public function Main() {&lt;br /&gt;
            var head:ClickableHeading = new ClickableHeading(&amp;quot;ActionScript&amp;quot;,&amp;quot;http://www.wbex.ru&amp;quot;);&lt;br /&gt;
            addChild(head);&lt;br /&gt;
         }&lt;br /&gt;
    &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class ClickableHeading extends flash.text.TextField {&lt;br /&gt;
    public function ClickableHeading (headText:String, URL:String) {&lt;br /&gt;
      //this.html = true;&lt;br /&gt;
      //autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
      htmlText = &amp;quot;&amp;lt;a href=&amp;quot;&amp;quot; + URL + &amp;quot;&amp;quot;&amp;gt;&amp;quot; + headText + &amp;quot;&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;
      border = true;&lt;br /&gt;
      background = true;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Disappearing TextField==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The immutable event flow&lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  import flash.text.*;&lt;br /&gt;
    import flash.events.*;  &lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    private var textField:TextField;&lt;br /&gt;
    public function Main(  ) {&lt;br /&gt;
      textField = new TextField(  );&lt;br /&gt;
      textField.text = &amp;quot;Click here&amp;quot;;&lt;br /&gt;
      textField.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
      addChild(textField);&lt;br /&gt;
      stage.addEventListener(MouseEvent.CLICK, stageClickListener, true);&lt;br /&gt;
      textField.addEventListener(MouseEvent.CLICK, textFieldClickListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function stageClickListener (e:MouseEvent):void {&lt;br /&gt;
      if (e.target == textField) {&lt;br /&gt;
        removeChild(textField);&lt;br /&gt;
        textField = null;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    private function textFieldClickListener (e:MouseEvent):void {&lt;br /&gt;
      trace(&amp;quot;textFieldClickListener triggered&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Drag and drop text==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
    &lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  import flash.events.MouseEvent;&lt;br /&gt;
  import flash.text.TextField;&lt;br /&gt;
  import flash.text.TextFieldAutoSize;&lt;br /&gt;
  import flash.display.StageAlign;&lt;br /&gt;
  import flash.display.StageScaleMode;&lt;br /&gt;
  &lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    &lt;br /&gt;
    public function Main(  ) {&lt;br /&gt;
        &lt;br /&gt;
      stage.align = StageAlign.TOP_LEFT;&lt;br /&gt;
      stage.scaleMode = StageScaleMode.NO_SCALE;&lt;br /&gt;
        &lt;br /&gt;
      var example:String = &amp;quot;A B C&amp;quot;;&lt;br /&gt;
      var words:Array = example.split(&amp;quot; &amp;quot;);&lt;br /&gt;
      var word:Sprite;&lt;br /&gt;
      var wordText:TextField;&lt;br /&gt;
      for ( var i:int = 0; i &amp;lt; words.length; i++ ) {&lt;br /&gt;
        word = new Sprite(  );&lt;br /&gt;
        addChild( word );&lt;br /&gt;
        &lt;br /&gt;
        wordText = new TextField(  );&lt;br /&gt;
        word.addChild( wordText );&lt;br /&gt;
        &lt;br /&gt;
        wordText.autoSize   = TextFieldAutoSize.LEFT; // Left-justify the text&lt;br /&gt;
        wordText.border     = true;&lt;br /&gt;
        wordText.background = true;&lt;br /&gt;
        wordText.selectable = false;&lt;br /&gt;
            &lt;br /&gt;
        wordText.text = words[i];&lt;br /&gt;
        &lt;br /&gt;
        word.addEventListener( MouseEvent.MOUSE_DOWN, handleDrag );&lt;br /&gt;
        word.addEventListener( MouseEvent.MOUSE_UP, handleDrop );&lt;br /&gt;
        &lt;br /&gt;
        word.x = 10*i;&lt;br /&gt;
        word.y = 10*i;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private function handleDrag( event:MouseEvent ):void {&lt;br /&gt;
      var word:Sprite = event.target.parent;&lt;br /&gt;
      &lt;br /&gt;
      setChildIndex( word, numChildren - 1 );&lt;br /&gt;
      &lt;br /&gt;
      word.startDrag(  );&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private function handleDrop( event:MouseEvent ):void {&lt;br /&gt;
      var word:Sprite = event.target.parent;&lt;br /&gt;
      &lt;br /&gt;
      word.stopDrag(  );&lt;br /&gt;
    }        &lt;br /&gt;
  }    &lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Highlight a paragraph when the user clicks a character==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  import flash.text.TextField;&lt;br /&gt;
  import flash.events.MouseEvent;&lt;br /&gt;
  import flash.geom.Rectangle;&lt;br /&gt;
  import flash.text.TextLineMetrics;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    private var _field:TextField = new TextField(  );&lt;br /&gt;
    private var _highlight:Sprite = new Sprite(  );&lt;br /&gt;
    public function Main(  ) {&lt;br /&gt;
      _field.border = true;&lt;br /&gt;
      _field.background = true;&lt;br /&gt;
      _field.multiline = true;&lt;br /&gt;
      _field.wordWrap = true;&lt;br /&gt;
      _field.selectable = false;&lt;br /&gt;
      _field.width = 400;&lt;br /&gt;
      _field.height = 400;&lt;br /&gt;
      addChild(_field);&lt;br /&gt;
      _field.text = &amp;quot;Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text &amp;quot;;&lt;br /&gt;
      _field.addEventListener(MouseEvent.CLICK, onDoubleClick);&lt;br /&gt;
      addChild(_highlight);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private function onDoubleClick(event:MouseEvent):void {&lt;br /&gt;
      var index:int = _field.getCharIndexAtPoint(mouseX, mouseY);&lt;br /&gt;
      var startIndex:int = _field.getFirstCharInParagraph(index);&lt;br /&gt;
      var stopIndex:int = startIndex + _field.getParagraphLength(index);&lt;br /&gt;
      var startLine:int = _field.getLineIndexOfChar(startIndex);&lt;br /&gt;
      var stopLine:int = _field.getLineIndexOfChar(stopIndex - 1);&lt;br /&gt;
      var metrics:TextLineMetrics;&lt;br /&gt;
      var lineCharacter:int;&lt;br /&gt;
      var rectangle:Rectangle;&lt;br /&gt;
      _highlight.graphics.clear(  );&lt;br /&gt;
      _highlight.graphics.lineStyle(0, 0, 0);&lt;br /&gt;
      for(var i:int = startLine; i &amp;lt;= stopLine; i++) {&lt;br /&gt;
          lineCharacter = _field.getLineOffset(i);&lt;br /&gt;
          rectangle = _field.getCharBoundaries(lineCharacter);&lt;br /&gt;
          metrics = _field.getLineMetrics(i);&lt;br /&gt;
        _highlight.graphics.beginFill(0x00FFFF, .25);&lt;br /&gt;
        _highlight.graphics.drawRect(rectangle.x, rectangle.y, metrics.width, metrics.height);&lt;br /&gt;
        _highlight.graphics.endFill(  );&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==To remove the highlight when the mouse moves away from both text fields, we would first register both text fields to receive the MouseEvent.MOUSE_OUT event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.text.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  public class WordHighlighter extends Sprite {&lt;br /&gt;
    private var word1:Sprite;&lt;br /&gt;
    private var text1:TextField;&lt;br /&gt;
    private var word2:Sprite;&lt;br /&gt;
    private var text2:TextField;&lt;br /&gt;
    private var bgRect:Shape;&lt;br /&gt;
    public function WordHighlighter (  ) {&lt;br /&gt;
      word1 = new Sprite(  );&lt;br /&gt;
      text1 = new TextField(  );&lt;br /&gt;
      text1.text = &amp;quot;Products&amp;quot;;&lt;br /&gt;
      text1.selectable = false;&lt;br /&gt;
      text1.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
      word1.addChild(text1)&lt;br /&gt;
      text1.addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener);&lt;br /&gt;
      word2 = new Sprite(  );&lt;br /&gt;
      text2 = new TextField(  );&lt;br /&gt;
      text2.text = &amp;quot;Services&amp;quot;;&lt;br /&gt;
      text2.selectable = false;&lt;br /&gt;
      text2.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
      word2.x = 75;&lt;br /&gt;
      word2.addChild(text2)&lt;br /&gt;
      text2.addEventListener(MouseEvent.MOUSE_OUT, mouseOutListener);&lt;br /&gt;
      addChild(word1);&lt;br /&gt;
      addChild(word2);&lt;br /&gt;
      bgRect = new Shape(  );&lt;br /&gt;
      bgRect.graphics.lineStyle(1);&lt;br /&gt;
      bgRect.graphics.beginFill(0xCCCCCC, 1);&lt;br /&gt;
      bgRect.graphics.drawRoundRect(0, 0, 60, 15, 8);&lt;br /&gt;
      &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    private function mouseOutListener (e:MouseEvent):void {&lt;br /&gt;
      // If the highlight is present...&lt;br /&gt;
      if (e.target.parent.contains(bgRect)) {&lt;br /&gt;
        // ...remove it&lt;br /&gt;
        e.target.parent.removeChild(bgRect);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Unicode characters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package{&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  import flash.text.*;&lt;br /&gt;
  public class Main extends Sprite{&lt;br /&gt;
    public function Main(){&lt;br /&gt;
      var field:TextField = new TextField(  );&lt;br /&gt;
        field.maxChars = 12;&lt;br /&gt;
        field.type = flash.text.TextFieldType.INPUT;&lt;br /&gt;
        field.border = true;&lt;br /&gt;
        field.background = true;&lt;br /&gt;
        field.text = &amp;quot;The greek letter delta looks like so: \u0395&amp;quot;;&lt;br /&gt;
        addChild(field);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using multiLine and TextMetrics: set the characters in the line underneath the user&amp;quot;s mouse to red.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package&lt;br /&gt;
{&lt;br /&gt;
import flash.display.Sprite;&lt;br /&gt;
import flash.text.TextField;&lt;br /&gt;
import flash.events.MouseEvent;&lt;br /&gt;
import flash.text.TextFormat;&lt;br /&gt;
import flash.display.StageAlign;&lt;br /&gt;
import flash.display.StageScaleMode;&lt;br /&gt;
public class Main extends Sprite&lt;br /&gt;
{&lt;br /&gt;
    private var multilineField:TextField;&lt;br /&gt;
    private var redFormat:TextFormat;&lt;br /&gt;
    private var blackFormat:TextFormat;&lt;br /&gt;
    public function Main()&lt;br /&gt;
    {&lt;br /&gt;
        stage.align = StageAlign.TOP_LEFT;&lt;br /&gt;
        stage.scaleMode = StageScaleMode.NO_SCALE;&lt;br /&gt;
        redFormat = new TextFormat();&lt;br /&gt;
        redFormat.color = 0xFF0000;&lt;br /&gt;
        blackFormat = new TextFormat();&lt;br /&gt;
        blackFormat.color = 0x000000;&lt;br /&gt;
        multilineField = new TextField();&lt;br /&gt;
        multilineField.multiline = true;&lt;br /&gt;
        multilineField.wordWrap = true;&lt;br /&gt;
        multilineField.height = 400;&lt;br /&gt;
        multilineField.width = 400;&lt;br /&gt;
        multilineField.mouseEnabled = true;&lt;br /&gt;
        multilineField.addEventListener(MouseEvent.MOUSE_MOVE, &lt;br /&gt;
            getMouseOverLine);&lt;br /&gt;
        multilineField.addEventListener(MouseEvent.MOUSE_OUT, &lt;br /&gt;
            getMouseOutLine);&lt;br /&gt;
        multilineField.text = &amp;quot;Returns .&amp;quot;;&lt;br /&gt;
        addChild(multilineField);&lt;br /&gt;
    }&lt;br /&gt;
    private function getMouseOverLine(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        var characterInLine:int = multilineField.getCharIndexAtPoint(10, mouseEvent.stageY);&lt;br /&gt;
        if(characterInLine != -1) {&lt;br /&gt;
            var lineIndex:int =  multilineField.getLineIndexOfChar(characterInLine);&lt;br /&gt;
            var firstCharIndex:int = multilineField.getLineOffset(lineIndex);&lt;br /&gt;
            var lastCharIndex:int = firstCharIndex + multilineField.getLineLength(lineIndex);&lt;br /&gt;
            multilineField.setTextFormat(blackFormat); &lt;br /&gt;
            multilineField.setTextFormat(redFormat,firstCharIndex, lastCharIndex);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private function getMouseOutLine(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        multilineField.setTextFormat(blackFormat);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Working with Advanced Text Layout==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  import flash.text.TextField;&lt;br /&gt;
  import flash.events.MouseEvent;&lt;br /&gt;
  import flash.geom.Rectangle;&lt;br /&gt;
  public class Text extends Sprite {&lt;br /&gt;
    private var _field:TextField;&lt;br /&gt;
    private var _highlight:Sprite;&lt;br /&gt;
    public function Text(  ) {&lt;br /&gt;
      _field = new TextField(  );&lt;br /&gt;
      _field.border = true;&lt;br /&gt;
      _field.background = true;&lt;br /&gt;
      _field.multiline = true;&lt;br /&gt;
      _field.wordWrap = true;&lt;br /&gt;
      _field.selectable = false;&lt;br /&gt;
      _field.width = 400;&lt;br /&gt;
      _field.height = 400;&lt;br /&gt;
      addChild(_field);&lt;br /&gt;
      _field.text = &amp;quot;Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text &amp;quot;;&lt;br /&gt;
      _field.addEventListener(MouseEvent.CLICK, onClick);&lt;br /&gt;
      _highlight = new Sprite(  );&lt;br /&gt;
      addChild(_highlight);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private function onClick(event:MouseEvent):void {&lt;br /&gt;
      var index:int = _field.getCharIndexAtPoint(mouseX, mouseY);&lt;br /&gt;
      var rectangle:Rectangle = _field.getCharBoundaries(index);&lt;br /&gt;
      _highlight.graphics.clear(  );&lt;br /&gt;
      _highlight.graphics.lineStyle(0, 0, 0);&lt;br /&gt;
      _highlight.graphics.beginFill(0x00FFFF, .25);&lt;br /&gt;
      _highlight.graphics.drawRect(rectangle.x, rectangle.y, rectangle.width, rectangle.height);&lt;br /&gt;
      _highlight.graphics.endFill(  );&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>