I think it's nearly the the same issue that I dicussed in message 91764 "Number of lines in <mx:text/>". But I didn't get an answer yet.
Markus --- In flexcoders@yahoogroups.com, "Daniel Freiman" <[EMAIL PROTECTED]> wrote: > > It looks like the force update method you need for TextArea is > validateProperties(). I forget if you're going to need to do more to get > the internal textField to update. We'll cross the bridge later if we need > to. > > - Dan Freiman > > On 10/28/07, jamalwally <[EMAIL PROTECTED]> wrote: > > > > Hi, > > > > I can't get the correct information about line numbers in the text of > > a custom class that extends TextArea (call it MyTextArea). > > > > If I set the text property of the TextArea in onCreationComplete() > > then getLineIndexAtPoint() returns -1. > > > > I imagine that after I update the text property, I must wait for the > > display to update before getLineIndexAtPoint() will return anything > > other than -1. So my questions are: > > > > 1. Can you force the display to update immediately? > > e.g. > > this.text = "a new line of text"; > > // this will return -1 (not what I want) > > trace(this.textField.getLineIndexAtPoint(2)); > > > > forceUpdate(); > > > > // this will return 0 (good) > > trace(this.textField.getLineIndexAtPoint(2)); > > > > 2. If you cannot force an update, is there an event to > > listen for so that I know when the getLineIndexAtPoint() > > method will return useful information? > > > > Here is my example code that does not give me what I want: > > > > public class MyTextArea extends TextArea { > > public function MyTextArea() { > > super(); > > // wait for creationComplete otherwise this.textField = null > > addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete); > > } > > > > private function onCreationComplete(evt:FlexEvent):void { > > this.text = 'a long line of text \n with a line break ...'; > > > > // these both return -1 > > // but I want them to return "0" and "1", repectively > > // because char 1 is on line 1 and char 25 is on line 2 > > trace(this.textField.getLineIndexOfChar(1)); > > trace(this.textField.getLineIndexOfChar(25)); > > } > > > > } > > > > (by the way, in my application, I unfortunately don't have the option > > of setting this.text in the constructor). > > > > Thanks in advance for your help, > > James > > > > > > >