2012-07-12 69 views
2

如何捕獲帶有actionscript 3和flash cs5的TLF字段中文本的子文本?舉例來說,我一直在使用actionscript TLF獲取所選文本

var zz:int = textpane.selectionBeginIndex; 
var zzz:int = textpane.selectionEndIndex; 

凡textpane是TLF盒的一個實例得到了所選文本的偏移量。我得到了選擇開始和結束的索引,但我無法找到如何使用這些值來獲取潛臺詞。

我的最終目標是動態地在文本之前和文本之後添加一些內容,而不是僅僅替換它。

回答

0

使用的開始和結束索引,從textpane.text調用substring

var start:int = textpane.selectionBeginIndex; 
var end:int = textpane.selectionEndIndex; 

var text:String = textpane.text.substring(start, end); 

TextFieldTLFTextField實現replaceText()功能,可以插入文本。

會在開始指數更換:

要在您的最終指數更換:

textpane.replaceText(end, end, "<--"); 

同時插入的開始和結束索引,保證你彌補的長度插入文本。

end += insertedText.length; 

總之,這成爲:

// find start and end positions 
var start:int = textpane.selectionBeginIndex; 
var end:int = textpane.selectionEndIndex; 

// selected text 
var text:String = textpane.text.substring(start, end); 

// insert text at beginning of selection 
var inseredtText:String = "-->"; 
textpane.replaceText(start, start, insertText); 

// insert text at end of selection 
end += insertedText.length; 
textpane.replaceText(end, end, "<--"); 
+0

謝謝!這有助於堆積如山。 – user1522256 2012-07-13 01:16:18