Klasa: TextSnapshot
Kompatybilność: ActionScript 1.0, Flash 7+
setSelected(start:Number, koniec:Number, zaznaczony:Boolean) : Void
Określa przedział znaków w obiekcie TextSnapshot, aby był zaznaczalny lub też nie.
Znaki, które są zaznaczone, są pomalowane zakolorowanym prostokątem, za nimi, dopasowanym zasięg pudełka znaku. Kolor dopasowanego prostokąta jest zdefiniowany przez TextSnapshot.setSelectColor()
.
Aby zaznaczyć, lub odznaczyć wszystkie znaki, przekaż wartość 0 dla start
oraz TextSnapshot.getCount()
(lub każdą dużą liczbę) dla koniec
. Aby określić pojedynczy znak, przekaż wartość start + 1
dla koniec
.
Ponieważ znaki są indywidualnie zaznaczane, kiedy zaznaczasz je, możesz wywołać tą metoda kilkakrotnie, aby zaznaczyć kilka znaków, czyli używanie tej metody nie odznacza innych znaków, które są ustawione przez tą metodę.
Ta metoda działa poprawnie, tylko z czcionkami, które załączają informacje metryczną, jednak domyślnie, Adobe Flash nie dołącza tych informacji dla statycznych pól tekstowych. Dlatego, metoda może zwrócić -1
zamiast wartości indeksowej. Aby się upewnić, że wartość indeksowa jest zwrócona, możesz zmusić Flash'a, do załączania informacji metrycznych dla czcionek. Aby to zrobić: stwórz dynamiczne pole, które używa tej czcionki, wybierz Opcje Znaków dla dynamicznego pola oraz określ zewnętrzne czcionki, powinny byc osadzone przynajmniej dla jednego znaki. (Nie ma znaczenia, które znaki określisz, jakiekolwiek by nie były, znaki są użyte w statycznym polu.)
Listing
var moj_snap:TextSnapshot = this.getTextSnapshot();
var count:Number = moj_snap.getCount();
moj_snap.setSelected(0, 4, true);
moj_snap.setSelected(1, 2, false);
var theText:String = moj_snap.getSelectedText(false);
trace(theText); // Text
Ranga: Administrator serwisu Punktów: 0