텍스트 선택 및 조작

Flash Player 9 이상, Adobe AIR 1.0 이상

동적 텍스트 또는 입력 텍스트를 선택할 수 있습니다. TextField 클래스의 텍스트 선택 속성 및 메서드는 인덱스 위치를 사용하여 조작할 텍스트 범위를 설정하므로 내용을 모르더라도 프로그래밍 방식으로 동적 텍스트 또는 입력 텍스트를 선택할 수 있습니다.

참고: Flash Professional을 사용하여 정적 텍스트 필드에서 선택 가능한 옵션을 선택하는 경우 표시 목록에 내보내거나 배치하는 텍스트 필드는 일반 동적 텍스트 필드가 됩니다.

텍스트 선택

flash.text.TextField.selectable 속성은 기본적으로 true 로 설정되어 있고 setSelection() 메서드를 사용하여 프로그래밍 방식으로 텍스트를 선택할 수 있습니다.

예를 들어 다음과 같이 사용자가 텍스트 필드를 클릭할 때 텍스트 필드 내의 특정 텍스트가 선택되도록 설정할 수 있습니다.

var myTextField:TextField = new TextField(); 
myTextField.text = "No matter where you click on this text field the TEXT IN ALL CAPS is selected."; 
myTextField.autoSize = TextFieldAutoSize.LEFT; 
addChild(myTextField); 
addEventListener(MouseEvent.CLICK, selectText); 
 
function selectText(event:MouseEvent):void 
{ 
    myTextField.setSelection(49, 65); 
}

마찬가지로, 텍스트가 처음 표시될 때 텍스트 필드 내의 텍스트가 선택되도록 하려는 경우에는 텍스트 필드가 표시 목록에 추가될 때 호출되는 이벤트 핸들러 함수를 만듭니다.

사용자가 선택한 텍스트 캡처

프로그래밍 방식으로 텍스트를 선택하도록 설정할 수 없는 “읽기 전용” TextField selectionBeginIndex selectionEndIndex 속성을 사용하여 현재 사용자가 선택한 항목을 캡처할 수 있습니다. 또한 입력 텍스트 필드는 caretIndex 속성을 사용할 수 있습니다.

예를 들어 다음 코드는 사용자가 선택한 텍스트의 인덱스 값을 추적합니다.

var myTextField:TextField = new TextField(); 
myTextField.text = "Please select the TEXT IN ALL CAPS to see the index values for the first and last letters."; 
myTextField.autoSize = TextFieldAutoSize.LEFT; 
addChild(myTextField); 
addEventListener(MouseEvent.MOUSE_UP, selectText); 
 
function selectText(event:MouseEvent):void 
{ 
    trace("First letter index position: " + myTextField.selectionBeginIndex); 
    trace("Last letter index position: " + myTextField.selectionEndIndex); 
}

선택 항목에 TextFormat 객체 속성 컬렉션을 적용하여 텍스트 모양을 변경할 수 있습니다. 선택한 텍스트에 TextFormat 속성 컬렉션을 적용하는 방법에 대한 자세한 내용은 텍스트 필드 내 텍스트 범위 서식 지정 을 참조하십시오.