Metni seçme ve işleme

Flash Player 9 ve üstü, Adobe AIR 1.0 ve üstü

Dinamik metni veya girdi metnini seçebilirsiniz. TextField sınıfının metin seçim özellikleri ve yöntemleri, işlenecek metin aralığını ayarlamak için dizin konumları kullandığından, içeriği bilmeseniz de programlama yoluyla dinamik metni veya girdi metnini seçebilirsiniz.

Not: Flash Professional'da, bir statik metin alanındaki seçilebilir seçeneği belirlerseniz, dışa aktarılan ve görüntüleme listesine yerleştirilen metin alanı normal bir dinamik metin alanı olur.

Metin seçme

flash.text.TextField.selectable özelliği, varsayılan olarak true değerine sahiptir ve setSelection() yöntemini kullanarak programlama yoluyla metin seçebilirsiniz.

Örneğin, bir metin alanındaki belirli bir metni, kullanıcı metin alanını tıklattığında seçilmek üzere ayarlayabilirsiniz:

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

Benzer şekilde, bir metin alanındaki metnin ilk görüntülendiği zaman seçilmesini istiyorsanız, metin alanı görüntüleme listesine eklendiğinde çağrılan bir olay işleyicisi işlevi oluşturun.

Kullanıcı tarafından seçilen metni yakalama

Programlama yoluyla metin seçecek şekilde ayarlanamamaları için "salt okunur" olan TextField selectionBeginIndex ve selectionEndIndex özellikleri, kullanıcının geçerli seçimini yakalamak için kullanılabilir. Bunlara ek olarak, girdi metni alanları, caretIndex özelliğini kullanabilir.

Örneğin aşağıdaki kod, kullanıcı tarafından seçilen metnin dizin değerlerini izler:

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

Metin görünümünü değiştirmek için seçime bir TextFormat nesne özellikleri koleksiyonu uygulayabilirsiniz. Seçilen metne bir TextFormat nesne özellikleri koleksiyonu uygulama hakkında daha fazla bilgi için, bkz. Bir metin alanında metin aralıklarını formatlama .