텍스트 선택 및 조작
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 속성 컬렉션을 적용하는 방법에 대한 자세한 내용은
텍스트 필드 내 텍스트 범위 서식 지정
을 참조하십시오.
|
|
|