Auswählen und Bearbeiten von Text

Flash Player 9 und höher, Adobe AIR 1.0 und höher

Sie können dynamischen Text oder Eingabetext auswählen. Da bei den Eigenschaften und Methoden der TextField-Klasse zur Textauswahl Indexpositionen verwendet werden, um den Bereich des zu bearbeitenden Textes festzulegen, können Sie dynamischen Text oder Eingabetext im Programmcode auswählen, selbst wenn der Inhalt nicht bekannt ist.

Hinweis: Wenn Sie in Flash Professional für ein statisches Textfeld die selectable-Option auswählen, handelt es sich bei dem exportierten und in die Anzeigeliste platzierten Textfeld um ein normales dynamisches Textfeld.

Auswählen von Text

Die flash.text.TextField.selectable -Eigenschaft hat standardmäßig den Wert true . Sie können Text mit Programmanweisungen auswählen, indem Sie die setSelection() -Methode verwenden.

Sie können beispielsweise festlegen, dass bestimmter Text in einem Textfeld ausgewählt wird, wenn der Benutzer auf das Textfeld klickt:

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); 
}

Wenn Sie festlegen möchten, dass spezifischer Text in einem Textfeld bei der Textanzeige ausgewählt wird, erstellen Sie eine Ereignisprozedurfunktion, die aufgerufen wird, wenn das Textfeld zur Anzeigeliste hinzugefügt wird.

Erfassen des vom Benutzer ausgewählten Textes

Mit den Eigenschaften selectionBeginIndex und selectionEndIndex der TextField-Klasse kann der vom Benutzer derzeit ausgewählte Text erfasst werden. Diese Eigenschaften sind schreibgeschützt, sodass Text nicht programmgesteuert ausgewählt werden kann. Zusätzlich kann in Eingabetextfeldern die caretIndex -Eigenschaft verwendet werden.

Mit dem folgenden Code werden beispielsweise die Indexpositionswerte des vom Benutzer ausgewählten Textes ausgegeben:

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); 
}

Sie können eine Sammlung von Eigenschaften des TextFormat-Objekts auf die Auswahl anwenden, um die Darstellung des Textes zu ändern. Weitere Informationen zum Anwenden einer Gruppe von TextFormat-Eigenschaften auf ausgewählten Text finden Sie unter Formatieren von Textbereichen innerhalb eines Textfelds .