2012-07-12 4 views
2

TLF 필드의 텍스트를 ActionScript3 및 플래시 cs5로 캡쳐하려면 어떻게해야합니까? 예를 들어, 선택된 텍스트의 오프셋을 가지고 있습니다.actionscript TLF 선택한 텍스트 가져 오기

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

여기서 텍스트 팬은 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, "<--"); 

둘 모두에서 시작 삽입하고 종료 인덱스하려면이의 길이를 보상 보장 :

textpane.replaceText(start, start, "-->"); 

가 최종 인덱스에 교체하려면 :

은 시작 인덱스 교체하려면 삽입 된 텍스트.

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

관련 문제