Пакет | flash.text |
Класс | public class TextField |
Наследование | TextField ![]() ![]() ![]() ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Для динамического создания текстового поля используется конструктор метода TextField()
.
Методы класса TextField позволяют задавать, выделять текст и выполнять манипуляции с ним в динамическом текстовом поле или поле ввода, создаваемом при разработке программы или при исполнении.
ActionScript предусматривает несколько способов форматирования текста при исполнении. Класс TextFormat позволяет задавать форматирование символов и абзацев для объектов TextField. К текстовым полям можно применять стили CSS с помощью свойства TextField.styleSheet
и класса StyleSheet. Можно использовать CSS для изменения стиля встроенных тегов HTML, определения новых тегов форматирования или применения стилей. Текстовому полю можно напрямую назначить текст с форматированием HTML, который также может использовать стили CSS. HTML-текст, назначаемый текстовому полю, может содержать встроенное мультимедийное содержимое (фрагменты роликов, SWF-файлы, GIF-файлы, PNG-файлы и JPEG-файлы). Текст "обтекает" встроенное в него мультимедийное содержимое так же, как в документе HTML в обозревателе.
Проигрыватель Flash Player поддерживает подгруппу тегов HTML, которые можно использовать для форматирования текста. См. список поддерживаемых тегов HTML в описании свойства htmlText.
См. также
Свойство | Определено | ||
---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта. | DisplayObject | |
![]() | alpha : Number
Указывает значение альфа-прозрачности заданного объекта. | DisplayObject | |
alwaysShowSelection : Boolean
При значении true и отсутствии фокуса на текстовом поле проигрыватель Flash Player выделяет фрагмент в текстовом поле серым цветом. | TextField | ||
antiAliasType : String
Тип сглаживания, применяемый для данного текстового поля. | TextField | ||
autoSize : String
Управляет автоматической настройкой размеров и выравниванием текстовых полей. | TextField | ||
background : Boolean
Указывает, используется ли в текстовом поле фоновая заливка. | TextField | ||
backgroundColor : uint
Цвет фона текстового поля. | TextField | ||
![]() | blendMode : String
Значение класса BlendMode, задающее режим наложения. | DisplayObject | |
![]() | blendShader : Shader [только для записи]
Задает затенение, используемое при наложении переднего плана на фон. | DisplayObject | |
border : Boolean
Указывает, есть ли у текстового поля рамка. | TextField | ||
borderColor : uint
Цвет рамки текстового поля. | TextField | ||
bottomScrollV : int [только для чтения]
Целое число (индекс, отсчитываемый от 1), соответствующее самой нижней строке, которую видно в заданном текстовом поле. | TextField | ||
![]() | cacheAsBitmap : Boolean
При значении true проигрыватель Flash Player кэширует внутреннее растровое представление экранного объекта. | DisplayObject | |
caretIndex : int [только для чтения]
Индекс точки вставки (каре). | TextField | ||
condenseWhite : Boolean
Логическое значение, определяющее, следует ли удалять лишние разделители (пробелы, разрывы строк и т.д.) в текстовом поле с текстом HTML. | TextField | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
![]() | contextMenu : ContextMenu
Определяет контекстное меню, связанное с данным объектом. | InteractiveObject | |
defaultTextFormat : TextFormat
Задает формат, применяемый к вставляемому тексту, например тексту, вставляемому методом replaceSelectedText(), или тексту, который вводит пользователь. | TextField | ||
displayAsPassword : Boolean
Показывает, является ли текстовое поле полем пароля. | TextField | ||
![]() | doubleClickEnabled : Boolean
Определяет, получает ли объект события doubleClick. | InteractiveObject | |
embedFonts : Boolean
Определяет, должна ли выполняться визуализация с использованием структур встроенных шрифтов. | TextField | ||
![]() | filters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом. | DisplayObject | |
![]() | focusRect : Object
Задает отображение прямоугольной рамки индикатора фокуса для данного объекта. | InteractiveObject | |
gridFitType : String
Тип хинтования (подгонки к сетке), применяемый для этого текстового поля. | TextField | ||
![]() | height : Number
Указывает высоту экранного объекта в пикселах. | DisplayObject | |
htmlText : String
Содержит HTML-представление содержимого текстового поля. | TextField | ||
length : int [только для чтения]
Число символов в текстовом поле. | TextField | ||
![]() | loaderInfo : LoaderInfo [только для чтения]
Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект. | DisplayObject | |
![]() | mask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask. | DisplayObject | |
maxChars : int
Введенное пользователем максимальное число символов, которое может содержать текстовое поле. | TextField | ||
maxScrollH : int [только для чтения]
Максимальное значение scrollH. | TextField | ||
maxScrollV : int [только для чтения]
Максимальное значение scrollV. | TextField | ||
![]() | mouseEnabled : Boolean
Определяет, получает ли этот объект сообщения мыши. | InteractiveObject | |
mouseWheelEnabled : Boolean
Логическое значение, определяющее, выполняет ли проигрыватель Flash Player автоматическую прокрутку многострочных текстовых полей, когда пользователь щелкает текстовое поле и вращает колесико мыши. | TextField | ||
![]() | mouseX : Number [только для чтения]
Указывает координату x положения курсора мыши (в пикселах). | DisplayObject | |
![]() | mouseY : Number [только для чтения]
Указывает координату y положения курсора мыши (в пикселах). | DisplayObject | |
multiline : Boolean
Показывает, является ли текстовое поле многострочным. | TextField | ||
![]() | name : String
Указывает имя экземпляра DisplayObject. | DisplayObject | |
numLines : int [только для чтения]
Определяет число строк текста в многострочном текстовом поле. | TextField | ||
![]() | opaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона. | DisplayObject | |
![]() | parent : DisplayObjectContainer [только для чтения]
Указывает объект DisplayObjectContainer, содержащий данный экранный объект. | DisplayObject | |
![]() | prototype : Object [статические]
Ссылка на модель объекта класса или функции. | Object | |
restrict : String
Определяет набор символов, которые могут быть введены пользователем в текстовом поле. | TextField | ||
![]() | root : DisplayObject [только для чтения]
В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом. | DisplayObject | |
![]() | rotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах). | DisplayObject | |
![]() | rotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру. | DisplayObject | |
![]() | rotationY : Number
Обозначает поворот в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру. | DisplayObject | |
![]() | rotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру. | DisplayObject | |
![]() | scale9Grid : Rectangle
Текущая активная сетка масштабирования. | DisplayObject | |
![]() | scaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | |
![]() | scaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | |
![]() | scaleZ : Number
Указывает масштабирование глубины объекта (в процентах) относительно точки регистрации этого объекта. | DisplayObject | |
scrollH : int
Текущее положение горизонтальной прокрутки. | TextField | ||
![]() | scrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта. | DisplayObject | |
scrollV : int
Вертикальное положение текста в текстовом поле. | TextField | ||
selectable : Boolean
Логическое значение, определяющее, можно ли выбрать текстовое поле. | TextField | ||
selectionBeginIndex : int [только для чтения]
Отсчитываемое от нуля значение индекса для первого символа в текущем выделенном фрагменте. | TextField | ||
selectionEndIndex : int [только для чтения]
Отсчитываемое от нуля значение индекса для последнего символа в текущем выделенном фрагменте. | TextField | ||
sharpness : Number
Четкость контуров символов в этом текстовом поле. | TextField | ||
![]() | stage : Stage [только для чтения]
Класс Stage экранного объекта. | DisplayObject | |
styleSheet : StyleSheet
Присоединяет таблицу стилей к текстовому полю. | TextField | ||
![]() | tabEnabled : Boolean
Определяет, включен ли этот объект в последовательность перехода с помощью клавиши Tab. | InteractiveObject | |
![]() | tabIndex : int
Задает последовательность перехода между объектами в SWF-файле. | InteractiveObject | |
text : String
Строка, представляющая текущий текст в текстовом поле. | TextField | ||
textColor : uint
Цвет текста в текстовом поле (в шестнадцатеричном формате). | TextField | ||
textHeight : Number [только для чтения]
Высота текста в пикселах. | TextField | ||
textWidth : Number [только для чтения]
Ширина текста в пикселах. | TextField | ||
thickness : Number
Толщина контуров символов в данном текстовом поле. | TextField | ||
![]() | transform : Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта. | DisplayObject | |
type : String
Тип текстового поля. | TextField | ||
useRichTextClipboard : Boolean
Определяет, будет ли форматирование текста копироваться и вставляться вместе с самим текстом. | TextField | ||
![]() | visible : Boolean
Определяет видимость экранного объекта. | DisplayObject | |
![]() | width : Number
Указывает ширину экранного объекта в пикселах. | DisplayObject | |
wordWrap : Boolean
Логическое значение, определяющее применение переноса по словам к текстовому полю. | TextField | ||
![]() | x : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | |
![]() | y : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | |
![]() | z : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера. | DisplayObject |
Метод | Определено | ||
---|---|---|---|
Создает новый экземпляр TextField. | TextField | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях. | EventDispatcher | |
Добавляет строку, указанную параметром newText, в конец текста в текстовом поле. | TextField | ||
![]() |
Передает событие в поток событий. | EventDispatcher | |
![]() | DisplayObject | ||
![]() |
Возвращает прямоугольник, определяющий область экранного объекта, которая относится к системе координат объекта targetCoordinateSpace. | DisplayObject | |
Возвращает прямоугольник, который является ограничительным блоком символа. | TextField | ||
Возвращает значение индекса, отсчитываемое от нуля, для символа в точке с координатами х и у. | TextField | ||
![]() | DisplayObject | ||
Получив индекс символа, возвращает индекс первого символа в том же абзаце. | TextField | ||
Возвращает ссылку DisplayObject по данному идентификатору для изображения или SWF-файла, добавленного в текстовое поле с форматированием HTML с помощью тега <img>. | TextField | ||
Возвращает значение индекса, отсчитываемое от нуля, для строки в точке с координатами х и у. | TextField | ||
Отсчитываемое от нуля значение индекса для строки, которая содержит символ, заданный параметром charIndex. | TextField | ||
Возвращает число символов в заданной строке текста. | TextField | ||
Возвращает данные метрик для заданной строки текста. | TextField | ||
Возвращает индекс первого символа в строке, заданной параметром lineIndex. | TextField | ||
Возвращает текст строки, заданной параметром lineIndex. | TextField | ||
Используя полученный индекс символа, возвращает длину абзаца, содержащего этот символ. | TextField | ||
![]() |
Возвращает прямоугольник, определяющий границу экранного объекта по системе координат, заданной параметром targetCoordinateSpace, за исключением линий фигур. | DisplayObject | |
Возвращает объект TextFormat, содержащий данные о форматировании для фрагмента текста, заданного параметрами beginIndex и endIndex. | TextField | ||
![]() |
Преобразует объект Point из координат рабочей области (глобальных) в координаты экранного объекта (локальные). | DisplayObject | |
![]() |
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа. | EventDispatcher | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() |
Оценивает экранный объект, чтобы определить, перекрывает ли он экранный объект obj или пересекается с ним. | DisplayObject | |
![]() |
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее. | DisplayObject | |
[статические]
Возвращает значение "true", если доступен встроенный шрифт с указанными свойствами fontName и fontStyle, где Font.fontType — это flash.text.FontType.EMBEDDED. | TextField | ||
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Преобразует объект point из координат экранного объекта (локальных) в координаты рабочей области (глобальные). | DisplayObject | |
![]() | DisplayObject | ||
![]() | DisplayObject | ||
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | |
Заменяет текущий выделенный фрагмент содержимым параметра value. | TextField | ||
Заменяет диапазон символов, заданный параметрами beginIndex и endIndex, содержанием параметра newText. | TextField | ||
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
Задает способ разметки текста с помощью индексов первого и последнего символов, которые указываются параметрами beginIndex и endIndex. | TextField | ||
Применяет форматирование текста, заданное параметром format, к указанному содержимому текстового поля. | TextField | ||
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object | |
![]() |
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным. | EventDispatcher | ||
![]() | Отправляется, когда экранный объект добавляется в список отображения. | DisplayObject | ||
![]() | Отправляется, когда экранный объект добавляется к списку отображения в рабочей области, либо непосредственно, либо путем добавления поддерева, содержащего экранный объект. | DisplayObject | ||
Отправляется после изменения значения элемента управления, в отличие от события textInput, которое отправляется перед изменение значения | TextField | |||
![]() | Отправляется, когда пользователь выбирает команду "Удалить" в контекстном меню текста. | InteractiveObject | ||
![]() | Отправляется, когда пользователь нажимает и отпускает главную кнопку на указывающем устройстве над одним и тем же объектом InteractiveObject. | InteractiveObject | ||
![]() | Отправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Копировать", или выбирает команду "Копировать" из контекстного меню. | InteractiveObject | ||
![]() | Отправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Вырезать", или выбирает команду "Вырезать" из контекстного меню. | InteractiveObject | ||
![]() | [многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным. | EventDispatcher | ||
![]() | Отправляется, когда пользователь дважды нажимает и отпускает главную кнопку на указывающем устройстве над одним и тем же объектом InteractiveObject, а флаг doubleClickEnabled для этого объекта имеет значение true. | InteractiveObject | ||
![]() | [многоадресное событие] Отправляется, когда точка воспроизведения переходит в новый кадр. | DisplayObject | ||
![]() | [многоадресное событие] Отправляется, когда точка воспроизведения покидает текущий кадр. | DisplayObject | ||
![]() | Отправляется, когда экранный объект перемещается в фокус. | InteractiveObject | ||
![]() | Отправляется, когда экранный объект покидает фокус. | InteractiveObject | ||
![]() | [многоадресное событие] Отправляется после завершения работы конструкторов экранных объектов кадра до выполнения сценариев кадра. | DisplayObject | ||
![]() | Отправляется, когда пользователь нажимает клавишу. | InteractiveObject | ||
![]() | Отправляется, когда пользователь пытается изменить фокус с помощью клавиатуры. | InteractiveObject | ||
![]() | Отправляется, когда пользователь отпускает клавишу. | InteractiveObject | ||
Отправляется, когда пользователь щелкает в текстовом поле с поддержкой HTML гиперссылку, в которой URL-адрес начинается с event: | TextField | |||
![]() | Отправляется, когда пользователь нажимает кнопку на указывающем устройстве над экземпляром InteractiveObject в окне проигрывателя Flash Player. | InteractiveObject | ||
![]() | Отправляется, когда пользователь пытается изменить фокус с помощью указывающего устройства. | InteractiveObject | ||
![]() | Отправляется, когда пользователь перемещает указывающее устройство в момент, когда курсор находится над объектом InteractiveObject. | InteractiveObject | ||
![]() | Отправляется, когда пользователь перемещает указывающее устройство от экземпляра InteractiveObject. | InteractiveObject | ||
![]() | Отправляется, когда пользователь наводит указывающее устройству на экземпляр InteractiveObject в окне проигрывателя Flash Player. | InteractiveObject | ||
![]() | Отправляется, когда пользователь отпускает кнопку на указывающем устройстве над экземпляром InteractiveObject в окне проигрывателя Flash Player. | InteractiveObject | ||
![]() | Отправляется, когда пользователь вращает колесико мыши над экземпляром InteractiveObject в окне проигрывателя Flash Player. | InteractiveObject | ||
![]() | Отправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Вставить", или выбирает команду "Вставить" из контекстного меню. | InteractiveObject | ||
![]() | Отправляется перед удалением экранного объекта из списка отображения. | DisplayObject | ||
![]() | Отправляется перед удалением экранного объекта из списка отображения, либо непосредственно, либо путем удаления поддерева, содержащего экранный объект. | DisplayObject | ||
![]() | [многоадресное событие] Отправляется перед обновлением и визуализацией списка отображения. | DisplayObject | ||
![]() | Отправляется, когда пользователь перемещает указывающее устройство от экземпляра InteractiveObject. | InteractiveObject | ||
![]() | Отправляется, когда пользователь наводит указывающее устройство на экземпляр InteractiveObject. | InteractiveObject | ||
Отправляется объектом TextField, когда пользователь выполняет прокрутку. | TextField | |||
![]() | Отправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Выделить все", или выбирает команду "Выделить все" из контекстного меню. | InteractiveObject | ||
![]() | Отправляется, когда изменяется значение свойства tabChildren объекта. | InteractiveObject | ||
![]() | Отправляется при изменении флага tabEnabled объекта. | InteractiveObject | ||
![]() | Отправляется, когда изменяется значение свойства tabIndex объекта. | InteractiveObject | ||
Flash Player отправляет событие textInput, когда пользователь вводит один или несколько символом текста. | TextField |
alwaysShowSelection | свойство |
alwaysShowSelection:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
При значении true
и отсутствии фокуса на текстовом поле проигрыватель Flash Player выделяет фрагмент в текстовом поле серым цветом. При значении false
и отсутствии фокуса на текстовом поле проигрыватель Flash Player не выделяет фрагмент в текстовом поле.
Значение по умолчанию false
public function get alwaysShowSelection():Boolean
public function set alwaysShowSelection(value:Boolean):void
См. также
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_alwaysShowSelection extends Sprite { public function TextField_alwaysShowSelection() { var label1:TextField = createCustomTextField(0, 20, 200, 20); label1.text = "This text is selected."; label1.setSelection(0, 9); label1.alwaysShowSelection = true; var label2:TextField = createCustomTextField(0, 50, 200, 20); label2.text = "Drag to select some of this text."; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
antiAliasType | свойство |
antiAliasType:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Тип сглаживания, применяемый для данного текстового поля. Используйте константы flash.text.AntiAliasType
для этого свойства. Этим параметром можно управлять, только если используется встроенный шрифт (свойство embedFonts
имеет значение true
). Параметр по умолчанию — flash.text.AntiAliasType.NORMAL
.
В качестве значений этого свойства используйте следующие строковые значения:
Строковое значение | Описание |
---|---|
flash.text.AntiAliasType.NORMAL | Применяет обычное сглаживание текста. Значение соответствует типу сглаживания, который использовался в проигрывателе Flash Player 7 и более ранних версиях. |
flash.text.AntiAliasType.ADVANCED | Применяет расширенное сглаживание, которое делает текст более четким. (Эта функция стала доступной в проигрывателе Flash Player 8.) Расширенное сглаживание обеспечивает высококачественную визуализацию шрифтов мелкого размера. Оно оптимально для приложений с большим объемом мелкого текста. Расширенное сглаживание не рекомендуется для шрифтов больше 48 размера. |
public function get antiAliasType():String
public function set antiAliasType(value:String):void
См. также
autoSize | свойство |
autoSize:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Управляет автоматической настройкой размеров и выравниванием текстовых полей. Допустимые значения констант TextFieldAutoSize
: TextFieldAutoSize.NONE
(по умолчанию), TextFieldAutoSize.LEFT
, TextFieldAutoSize.RIGHT
и TextFieldAutoSize.CENTER
.
Если autoSize
имеет значение TextFieldAutoSize.NONE
(по умолчанию) размер не изменяется.
Если autoSize
имеет значение TextFieldAutoSize.LEFT
, тексту задается выравнивание по левому краю, то есть левое поле текста остается неподвижным и изменение размера одной строки текстового поля осуществляется по правому полю. Если в тексте встречается разрыв строки (например, "\n"
или "\r"
), размер нижнего края также изменяется, чтобы вместить следующую строку текста. Если свойство wordWrap
также имеет значение true
, размер изменяется только по нижнему краю, а правое поле остается фиксированным.
Если autoSize
имеет значение TextFieldAutoSize.RIGHT
, тексту задается выравнивание по правому краю, то есть правое поле текста остается неподвижным и изменение размера одной строки текстового поля осуществляется по левому полю. Если в тексте встречается разрыв строки (например, "\n" или "\r"
), размер нижнего края также изменяется, чтобы вместить следующую строку текста. Если свойство wordWrap
также имеет значение true
, размер изменяется только по нижнему краю, а левое поле остается фиксированным.
Если autoSize
имеет значение TextFieldAutoSize.CENTER
, текст обрабатывается с учетом выравнивания по центру, то есть изменение размера одной строки текстового поля равномерно распределяется по правому и левому полям. Если в тексте встречается разрыв строки (например, "\n"
или "\r"
), размер нижнего края также изменяется, чтобы вместить следующую строку текста. Если свойство wordWrap
также имеет значение true
, размер изменяется только по нижнему краю, а левое и правое поля остаются фиксированными.
public function get autoSize():String
public function set autoSize(value:String):void
ArgumentError — Заданный параметр autoSize не является элементом flash.text.TextFieldAutoSize.
|
См. также
background | свойство |
background:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает, используется ли в текстовом поле фоновая заливка. При значении true
фоновая заливка используется. При значении false
фоновая заливка не используется. Цвет фона для текстового поля задается с помощью свойства backgroundColor
.
Значение по умолчанию false
public function get background():Boolean
public function set background(value:Boolean):void
См. также
backgroundColor | свойство |
backgroundColor:uint
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Цвет фона текстового поля. Значение по умолчанию — 0xFFFFFF
(белый). Это свойство можно получить или задать, даже если в настоящее время фона нет, однако цвет будет видимым, только если свойству background
текстового поля задано значение true
.
public function get backgroundColor():uint
public function set backgroundColor(value:uint):void
См. также
border | свойство |
border:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает, есть ли у текстового поля рамка. При значении true
рамка есть. При значении false
рамки нет. Цвет рамки задается с помощью свойства borderColor
.
Значение по умолчанию false
public function get border():Boolean
public function set border(value:Boolean):void
См. также
borderColor | свойство |
borderColor:uint
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Цвет рамки текстового поля. Значение по умолчанию — 0x000000
(черный). Это свойство можно получить или задать, даже если в настоящее время рамки нет, однако цвет будет видимым, только если свойству border
текстового поля задано значение true
.
public function get borderColor():uint
public function set borderColor(value:uint):void
См. также
bottomScrollV | свойство |
bottomScrollV:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Целое число (индекс, отсчитываемый от 1), соответствующее самой нижней строке, которую видно в заданном текстовом поле. Представьте, что текстовое поле — это окно на блоке текста. Свойство scrollV
представляет собой отсчитываемый от единицы индекс самой верхней видимой строки в окне.
Весь текст между линиями, заданными параметрами scrollV
и bottomScrollV
в данный момент отображается в текстовом поле.
public function get bottomScrollV():int
См. также
caretIndex | свойство |
caretIndex:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Индекс точки вставки (каре). Если точка вставки не отображается, значением является положение, которое она бы занимала, если бы поле было в фокусе (обычно это последнее место вставки или 0, если поле не было в фокусе).
Индексы выделенного фрагмента отсчитываются от нуля (например, первая позиция — 0, вторая — 1 и т.д.)
public function get caretIndex():int
См. также
printCursorPosition
. В данном случае значения свойств caretIndex
, selectionBeginIndex
и selectionEndIndex
выводятся на экран.
Запустите этот пример и попробуйте щелкнуть мышью в текстовом поле TextField, чтобы выделить текст. После этого щелкните поле, не выделяя текст. При щелчке по тексту без выделения, свойство caretIndex
указывает местоположение точки вставки, а свойства selectionBeginIndex
и selectionEndIndex
имеют то же значение, что caretIndex
.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
condenseWhite | свойство |
condenseWhite:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Логическое значение, определяющее, следует ли удалять лишние разделители (пробелы, разрывы строк и т.д.) в текстовом поле с текстом HTML. Значение по умолчанию равно false
. Свойство condenseWhite
влияет только на текст, определенный с помощью свойства htmlText
, а неtext
. Если текст определен с использованием свойства text
, condenseWhite
игнорируется.
Если свойству condenseWhite
присваивается значение true
, необходимо использовать стандартные команды HTML (например, <BR>
и <P>
), чтобы поместить в текстовое поле разрывы строк.
Свойство condenseWhite
задается перед свойством htmlText
.
public function get condenseWhite():Boolean
public function set condenseWhite(value:Boolean):void
См. также
condenseWhite
в значении false
и в значении true
.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_condenseWhite extends Sprite { public function TextField_condenseWhite() { var tf1:TextField = createCustomTextField(0, 0, 200, 50); tf1.condenseWhite = false; tf1.htmlText = "keep on\n\ttruckin'"; var tf2:TextField = createCustomTextField(0, 120, 200, 50); tf2.condenseWhite = true; tf2.htmlText = "keep on\n\ttruckin'"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; addChild(result); return result; } } }
defaultTextFormat | свойство |
defaultTextFormat:TextFormat
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Задает формат, применяемый к вставляемому тексту, например тексту, вставляемому методом replaceSelectedText()
, или тексту, который вводит пользователь.
При обращении к свойству defaultTextFormat
возвращается объект TextFormat, все свойства которого определены. Ни одно из свойств не имеет значения null
.
Примечание. Это свойство нельзя задать, если к текстовому полю применена таблица стилей.
public function get defaultTextFormat():TextFormat
public function set defaultTextFormat(value:TextFormat):void
Error — Этот метод нельзя использовать для текстового поля с таблицей стилей.
|
См. также
displayAsPassword | свойство |
displayAsPassword:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Показывает, является ли текстовое поле полем пароля. Если это свойство имеет значение true
, текстовое поле обрабатывается как поле ввода пароля и скрывает вводимые символы, показывая звездочки вместо действительных символов. При значении false
текстовое поле не обрабатывается как поле пароля. В режиме пароля команды "Вырезать" и "Копировать", а также соответствующие им комбинации клавиш не работают. Этот механизм защиты не позволяет недобросовестным пользователям использовать комбинации клавиш с целью получения пароля на компьютере, оставленном без присмотра.
Значение по умолчанию false
public function get displayAsPassword():Boolean
public function set displayAsPassword(value:Boolean):void
embedFonts | свойство |
embedFonts:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет, должна ли выполняться визуализация с использованием структур встроенных шрифтов. При значении false
проигрыватель Flash Player визуализирует текстовое поле с использованием шрифтов устройства.
Если свойству embedFonts
текстового поля задано значение true
, необходимо указать для текста шрифт с помощью свойства font
объекта TextFormat, примененного к текстовому полю. Если указанный шрифт не встроен в SWF-файл, текст не отображается.
Значение по умолчанию false
public function get embedFonts():Boolean
public function set embedFonts(value:Boolean):void
См. также
gridFitType | свойство |
gridFitType:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Тип хинтования (подгонки к сетке), применяемый для этого текстового поля. Это свойство применяется, только если свойство flash.text.AntiAliasType
текстового поля имеет значение flash.text.AntiAliasType.ADVANCED
.
Используемый тип подгонки к сетке определяет, подгоняет ли проигрыватель Flash Player жирные горизонтальные или вертикальные линии к пиксельной или субпиксельной сетке, или совсем не выполняет подгонку.
Для свойства flash.text.GridFitType
можно использовать следующие строковые значения.
Строковое значение | Описание |
---|---|
flash.text.GridFitType.NONE | Задает отсутствие подгонки к сетке. Горизонтальные и вертикальные линии в глифах не подгоняются к пиксельной сетке. Этот параметр рекомендуется для анимации или для шрифтов большого размера. |
flash.text.GridFitType.PIXEL | Задает подгонку жирных горизонтальных и вертикальных линий к пиксельной сетке. Этот параметр применяется только к текстовым полям с выравниванием по левому краю. Для использования этого параметра свойство flash.display.AntiAliasType текстового поля должно иметь значение flash.text.AntiAliasType.ADVANCED . Этот параметр, как правило, дает максимальную четкость для текста с выравниванием по левому краю. |
flash.text.GridFitType.SUBPIXEL | Задает подгонку горизонтальных и вертикальных линий к субпиксельной сетке на ЖК-мониторе. Для использования этого параметра свойство flash.text.AntiAliasType текстового поля должно иметь значение flash.text.AntiAliasType.ADVANCED . Параметр flash.text.GridFitType.SUBPIXEL обычно хорош для динамического текста с выравниванием по правому краю или по центру и в некоторых случаях позволяет найти оптимальный баланс качеством анимации и текста. |
Значение по умолчанию pixel
public function get gridFitType():String
public function set gridFitType(value:String):void
См. также
gridFitType
. При тестировании этого примера, оцените разницу в четкости первых двух строк. Также обратите внимание на оптимальное использование GridFitType.PIXEL
для текста с выравниванием по левому краю и GridFitType.SUBPIXEL
для текста с выравниванием по правому краю.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; public class gridFitTypeExample extends Sprite { public function gridFitTypeExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=12; var tf1:TextField = createCustomTextField(0,0,format1,"NONE",TextFieldAutoSize.LEFT,GridFitType.NONE); var tf2:TextField = createCustomTextField(0,30,format1,"PIXEL",TextFieldAutoSize.LEFT,GridFitType.PIXEL); var tf3:TextField = createCustomTextField(300,60,format1,"SUBPIXEL",TextFieldAutoSize.RIGHT,GridFitType.SUBPIXEL); } private function createCustomTextField(x:Number,y:Number,fm:TextFormat,tl:String,tfs:String,gft:String):TextField { var result:TextField = new TextField(); result.x=x; result.y=y; result.embedFonts=true; result.antiAliasType=AntiAliasType.ADVANCED; result.text="This text uses a gridFitType of " + tl; result.autoSize=tfs; result.gridFitType=gft; result.setTextFormat(fm); addChild(result); return result; } } }
htmlText | свойство |
htmlText:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Содержит HTML-представление содержимого текстового поля.
Проигрыватель Flash Player поддерживает следующие теги HTML.
Тег | Описание |
---|---|
Тег привязки |
Тег <a> создает гипертекстовую ссылку и поддерживает следующие атрибуты.
|
Тег полужирного начертания |
Тег <b> изменяет начертание текста на полужирное. Для используемого шрифта должно быть доступно полужирное написание.
|
Тег разрыва |
Тег <br> создает разрыв строки в текстовом поле. Чтобы использовать этот тег, определите текстовое поле как многострочное.
|
Тег шрифта |
Тег <font> задает шрифт или список шрифтов для отображения текста. Тег шрифта поддерживает следующие атрибуты.
|
Тег изображения |
Тег <img> позволяет встраивать в текстовые поля внешние файлы изображений (JPEG, GIF, PNG), SWF-файлы и фрагменты роликов. Текст автоматически обтекает изображения, встроенные в текстовые поля. Необходимо определить текстовое поле как многострочное, чтобы текст обтекал изображение.
Тег
В текстовом поле проигрыватель Flash Player отображает встроенное мультимедийное содержимое в полном размере. Чтобы задать размеры встраиваемого мультимедийного содержимого, используйте атрибуты Как правило, изображение, встроенное в текстовое поле отображается на следующей строке после тега |
Тег курсива |
Тег <i> отображает заключенный в него текст курсивом. Для используемого шрифта должно быть доступно курсивное начертание.
|
Тег элемента списка |
Тег <li> помещает маркер перед заключенным в него текстом. Примечание. Так как проигрыватель Flash Player не распознает теги упорядоченного и неупорядоченного списка (<ol> и <ul> ), они не модифицируют визуализацию списка. Все списки являются неупорядоченными, и для всех элементов списка используются маркеры.
|
Тег абзаца |
Тег <p> создает новый абзац. Чтобы использовать этот тег, необходимо определить текстовое поле как многострочное. Тег <p> поддерживает следующие атрибуты.
|
Тег диапазона |
Тег <span> доступен только при использовании вместе со стилями текста CSS. Он поддерживает следующий атрибут.
|
Тег формата текста |
Тег Тег
|
Тег подчеркивания |
Тег <u> подчеркивает заключенный в него текст.
|
Проигрыватель Flash Player поддерживает следующие HTML-подстановки.
Подстановка | Описание |
---|---|
< | < (знак меньше) |
> | > (знак больше) |
& | & (амперсанд) |
" | " (двойные кавычки) |
' | ' (апостроф, одинарная кавычка) |
Проигрыватель Flash Player также поддерживает явные коды символов, такие как & (амперсанд ASCII) и € (символ € в Юникод).
public function get htmlText():String
public function set htmlText(value:String):void
См. также
tf1
, свойству text
которого назначается строка в формате HTML. Когда отслеживается его свойство htmlText
, выводится строка в формате HTML, к которой проигрыватель Flash Player автоматически добавляет дополнительные теги <P> и <FONT>). Когда отслеживается значение свойства text
, отображается неотформатированная строка без тегов HTML.
По аналогии, эти же действия выполняются с другим объектом TextField с именем tf2
, но свойству styleSheet
поля tf2
назначается объект StyleSheet, прежде чем задается свойство htmlText
. В этом случае, когда отслеживается свойство htmlText
, оно включает только тот текст HTML, который был изначально назначен свойству htmlText
, демонстрируя, что проигрыватель Flash Player не добавлял других тегов.
package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; public class TextField_text extends Sprite { public function TextField_text() { var tf1:TextField = createCustomTextField(10, 10, 400, 22); tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><b>Lorem ipsum dolor sit amet.</b></FONT></P> trace("htmlText: " + tf1.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf1.text); var tf2:TextField = createCustomTextField(10, 50, 400, 22); tf2.styleSheet = new StyleSheet(); tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <b>Lorem ipsum dolor sit amet.</b> trace("htmlText: " + tf2.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf2.text); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
length | свойство |
length:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Число символов в текстовом поле. Символы, такие как знаки табуляции (\t
), учитываются как один символ.
public function get length():int
maxChars | свойство |
maxChars:int
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Введенное пользователем максимальное число символов, которое может содержать текстовое поле. Сценарий может вставить больше текста, чем допускает maxChars
. Свойство maxChars
указывает только количество символов, которые может ввести пользователь. Если это свойство имеет значение 0
, пользователь может ввести любое количество символов.
Значение по умолчанию 0
public function get maxChars():int
public function set maxChars(value:int):void
maxScrollH | свойство |
maxScrollH:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Максимальное значение scrollH
.
public function get maxScrollH():int
См. также
maxScrollV | свойство |
maxScrollV:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Максимальное значение scrollV
.
public function get maxScrollV():int
См. также
mouseWheelEnabled | свойство |
mouseWheelEnabled:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Логическое значение, определяющее, выполняет ли проигрыватель Flash Player автоматическую прокрутку многострочных текстовых полей, когда пользователь щелкает текстовое поле и вращает колесико мыши. Значение по умолчанию — true
. Это свойство полезно, если требуется предотвратить прокрутку текстового поля с помощью колесика мыши или внедрить собственную функцию прокрутки текста.
public function get mouseWheelEnabled():Boolean
public function set mouseWheelEnabled(value:Boolean):void
multiline | свойство |
multiline:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Показывает, является ли текстовое поле многострочным. Если значение — true
, текстовое поле многострочное, а если значение — false
, то однострочное. В поле типа TextFieldType.INPUT
значение multiline
определяет, создает ли клавиша Enter
новую строку (при значении false
нажатие клавиши Enter
игнорируется). Если вставить текст в поле TextField
со свойством multiline
в значении false
, новые строки опускаются.
Значение по умолчанию false
public function get multiline():Boolean
public function set multiline(value:Boolean):void
См. также
numLines | свойство |
numLines:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет число строк текста в многострочном текстовом поле. Если свойство wordWrap
имеет значение true
, то при переносе текста количество строк увеличивается.
public function get numLines():int
См. также
restrict | свойство |
restrict:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет набор символов, которые могут быть введены пользователем в текстовом поле. Если свойству restrict
присвоено значение null
, можно ввести любой символ. Если в качестве значения свойства restrict
выступает пустая строка, ввод символов не поддерживается. Если значение restrict
— это строка, состоящая из символов, в текстовое поле можно вводить только символы из этой строки. Строка сканируется слева направо. Можно задать диапазон с помощью символа (-). Ограничивается только взаимодействие пользователей; с помощью сценариев в поле можно ввести любой текст.
Если строка начинается с символа вставки (^), все символы исходно поддерживаются, а последующие символы в строке исключаются из набора поддерживаемых символов. Если строка не начинается с символа вставки (^), символы исходно не поддерживаются, а последующие символы в строке включаются в набор поддерживаемых символов.
В следующем примере в текстовое поле можно вводить только заглавные буквы, пробелы и цифры.
my_txt.restrict = "A-Z 0-9";
В следующем примере включены все символы, но исключены строчные буквы.
my_txt.restrict = "^a-z";
Можно использовать обратную косую черту для ввода символа ^ или -. Допускаются следующие последовательности с обратной косой чертой: \-, \^ или \\. Обратная косая черта должна быть фактическим символом в строке, потому, когда она задана в коде ActionScript, необходимо использовать двойную обратную косую черту. Например, следующий код включает только дефис (-) и символ вставки (^).
my_txt.restrict = "\\-\\^";
Символ ^ может использоваться в любом месте строки для переключения между включенными и исключенными символами. Следующий код включает только заглавные буквы, но исключает заглавную букву Q.
my_txt.restrict = "A-Z^Q";
Для создания строк restrict
можно использовать маскирующую последовательность u
. Следующий код включает только символы с ASCII 32 (пробел) до ASCII 126 (тильда).
my_txt.restrict = "\u0020-\u007E";
Значение по умолчанию null
public function get restrict():String
public function set restrict(value:String):void
scrollH | свойство |
scrollH:int
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Текущее положение горизонтальной прокрутки. Если свойство scrollH
имеет значение 0, текст не прокручивается по горизонтали. Значением этого свойства является целое число, представляющее положение по горизонтали в пикселах.
Единицей измерения горизонтальной прокрутки являются пикселы, а вертикальной — строки. Горизонтальная прокрутка измеряется в пикселах, так как большинство распространенных шрифтов расставляются пропорционально, то есть символы могут иметь разную ширину. Проигрыватель Flash Player выполняет вертикальную прокрутку по строкам, так как пользователи обычно хотят видеть строку текста целиком, а не частично. Даже если в строке используются разные шрифты, ее высота регулируется в соответствии с самым большим используемым шрифтом.
Примечание. Значение свойства scrollH
отсчитывается от нуля, а значение свойства scrollV
(для вертикальной прокрутки) — от единицы
public function get scrollH():int
public function set scrollH(value:int):void
См. также
scrollV | свойство |
scrollV:int
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Вертикальное положение текста в текстовом поле. Свойство scrollV
полезно для направления пользователей к определенному абзацу в длинном тексте или для создания прокручиваемых текстовых полей.
Единицей измерения вертикальной прокрутки являются строки, а горизонтальной — пикселы. Если первая отображаемая строка является первой строкой в текстовом поле, то свойство scrollV имеет значение 1 (не 0). Горизонтальная прокрутка измеряется в пикселах, так как большинство шрифтов расставляются пропорционально, то есть символы могут иметь разную ширину. Flash выполняет вертикальную прокрутку по строкам, так как пользователи обычно хотят видеть строку текста целиком, а не частично. Даже если строка содержит разные шрифты, ее высота регулируется в соответствии с самым большим используемым шрифтом.
public function get scrollV():int
public function set scrollV(value:int):void
См. также
selectable | свойство |
selectable:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Логическое значение, определяющее, можно ли выбрать текстовое поле. Значение true
указывает на то, что текст можно выделить. Свойство selectable
управляет возможностью выделения содержимого текстового поля, а не возможностью его редактирования. Динамическое текстовое поле может поддерживать выделение даже при отсутствии возможности редактирования. Если динамическое текстовое поле не поддерживает выделения, пользователь не может выделять его содержимое.
Если свойство selectable
имеет значение false
, содержимое текстового поля не реагирует на команды выделения мыши и клавиатуры, и его нельзя копировать с использованием команды "Копировать". Если свойство selectable
имеет значение true
, содержимое текстового поля можно выделить с помощью мыши и клавиатуры, и его можно копировать с использованием команды "Копировать". Таким образом можно выделить текст, даже если текстовое поле является динамическим, а не полем ввода.
Значение по умолчанию true
public function get selectable():Boolean
public function set selectable(value:Boolean):void
См. также
selectable
в значении true
, а другое со свойством selectable
в значении false
. Выполняя этот пример, попробуйте выделить текст в этих полях с помощью мыши или клавиатуры.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class selectableExample extends Sprite { public function selectableExample() { var tf1:TextField = createCustomTextField(10, 10); tf1.text="This text can be selected"; tf1.selectable=true; var tf2:TextField = createCustomTextField(10, 30); tf2.text="This text cannot be selected"; tf2.selectable=false; } private function createCustomTextField(x:Number, y:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.autoSize=TextFieldAutoSize.LEFT; addChild(result); return result; } } }
selectionBeginIndex | свойство |
selectionBeginIndex:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отсчитываемое от нуля значение индекса для первого символа в текущем выделенном фрагменте. Например, первый символ имеет индекс 0, второй — индекс 1 и т.д. Если текст не выделен, это свойство является значением caretIndex
.
public function get selectionBeginIndex():int
См. также
printCursorPosition
. В данном случае значения свойств caretIndex
, selectionBeginIndex
и selectionEndIndex
выводятся на экран.
Запустите этот пример и попробуйте щелкнуть мышью в текстовом поле TextField, чтобы выделить текст. После этого щелкните поле, не выделяя текст. При щелчке по тексту без выделения, свойство caretIndex
указывает местоположение точки вставки, а свойства selectionBeginIndex
и selectionEndIndex
имеют то же значение, что caretIndex
.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
selectionEndIndex | свойство |
selectionEndIndex:int
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отсчитываемое от нуля значение индекса для последнего символа в текущем выделенном фрагменте. Например, первый символ имеет индекс 0, второй — индекс 1 и т.д. Если текст не выделен, это свойство является значением caretIndex
.
public function get selectionEndIndex():int
См. также
printCursorPosition
. В данном случае значения свойств caretIndex
, selectionBeginIndex
и selectionEndIndex
выводятся на экран.
Запустите этот пример и попробуйте щелкнуть мышью в текстовом поле TextField, чтобы выделить текст. После этого щелкните поле, не выделяя текст. При щелчке по тексту без выделения, свойство caretIndex
указывает местоположение точки вставки, а свойства selectionBeginIndex
и selectionEndIndex
имеют то же значение, что caretIndex
.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_caretIndex extends Sprite { public function TextField_caretIndex() { var tf:TextField = createCustomTextField(10, 10, 100, 100); tf.wordWrap = true; tf.type = TextFieldType.INPUT; tf.text = "Click in this text field. Compare the difference between clicking without selecting versus clicking and selecting text."; tf.addEventListener(MouseEvent.CLICK, printCursorPosition); } private function printCursorPosition(event:MouseEvent):void { var tf:TextField = TextField(event.target); trace("caretIndex:", tf.caretIndex); trace("selectionBeginIndex:", tf.selectionBeginIndex); trace("selectionEndIndex:", tf.selectionEndIndex); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
sharpness | свойство |
sharpness:Number
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Четкость контуров символов в этом текстовом поле. Это свойство применяется, только если свойство flash.text.AntiAliasType
текстового поля имеет значение flash.text.AntiAliasType.ADVANCED
. Допустимый диапазон значений свойства sharpness
: числа от -400 до 400. При попытке задать свойству sharpness
значение, находящееся за пределами этого диапазона, проигрыватель Flash Player назначает ему ближайшее значение в диапазоне (-400 или 400).
Значение по умолчанию 0
public function get sharpness():Number
public function set sharpness(value:Number):void
См. также
sharpness
для объекта TextField. Необходимо встроить шрифт и задать свойству antiAliasType
значение ADVANCED
.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class sharpnessExample extends Sprite { public function sharpnessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-400); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,400); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldSharpness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.sharpness=fldSharpness; result..setTextFormat(format); addChild(result); return result; } } }
styleSheet | свойство |
styleSheet:StyleSheet
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Присоединяет таблицу стилей к текстовому полю. Сведения о создании таблиц стилей, см. описание класса StyleSheet и руководство Программирование на ActionScript 3.0.
Таблицу стилей, связанную с текстовым полем, можно изменить в любое время. При изменении текущей таблицы стилей текстовое поле перерисовывается с использованием новой таблицы стилей. Чтобы удалить таблицу стилей, нужно задать значение null
или undefined
. Если текущая таблица стилей удаляется, текстовое поле перерисовывается без нее.
Примечание. Если таблица стилей удаляется, содержимоеTextField.text
и TextField.htmlText
изменяется для внедрения форматирования, которое раньше применялось с помощью таблицы стилей. Чтобы сохранить исходное содержимое TextField.htmlText
без форматирования, нужно сохранить значение в переменной, прежде чем удалять таблицу стилей.
public function get styleSheet():StyleSheet
public function set styleSheet(value:StyleSheet):void
См. также
stylesheet
.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.StyleSheet; public class TextStylesheetExample extends Sprite { var myLabel:TextField = new TextField(); var labelText:String = "Hello world."; var newStyle:StyleSheet = new StyleSheet(); public function TextStylesheetExample() { var styleObj:Object = new Object(); styleObj.fontWeight = "bold"; styleObj.color = "#660066"; newStyle.setStyle(".defStyle", styleObj); myLabel.styleSheet=newStyle; myLabel.htmlText=labelText; addChild(myLabel); } } }
text | свойство |
text:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Строка, представляющая текущий текст в текстовом поле. Строки разделяются символом возврата каретки ("\r"
, ASCII 13). Это свойство содержит неформатированный текст в текстовом поле без тегов HTML.
Чтобы получить текст в виде HTML, используйте свойство htmlText
.
public function get text():String
public function set text(value:String):void
См. также
tf1
, свойству text
которого назначается строка в формате HTML. Когда отслеживается его свойство htmlText
, выводится строка в формате HTML, к которой проигрыватель Flash Player автоматически добавляет дополнительные теги <P> и <FONT>). Когда отслеживается значение свойства text
, отображается неотформатированная строка без тегов HTML.
По аналогии, эти же действия выполняются с другим объектом TextField с именем tf2
, но свойству styleSheet
поля tf2
назначается объект StyleSheet, прежде чем задается свойство htmlText
. В этом случае, когда отслеживается свойство htmlText
, оно включает только тот текст HTML, который был изначально назначен свойству htmlText
, демонстрируя, что проигрыватель Flash Player не добавлял других тегов.
package { import flash.display.Sprite; import flash.text.StyleSheet; import flash.text.TextField; public class TextField_text extends Sprite { public function TextField_text() { var tf1:TextField = createCustomTextField(10, 10, 400, 22); tf1.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <P ALIGN="LEFT"><FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"><b>Lorem ipsum dolor sit amet.</b></FONT></P> trace("htmlText: " + tf1.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf1.text); var tf2:TextField = createCustomTextField(10, 50, 400, 22); tf2.styleSheet = new StyleSheet(); tf2.htmlText = "<b>Lorem ipsum dolor sit amet.</b>"; // htmlText: <b>Lorem ipsum dolor sit amet.</b> trace("htmlText: " + tf2.htmlText); // text: Lorem ipsum dolor sit amet. trace("text: " + tf2.text); } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
textColor | свойство |
textColor:uint
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Цвет текста в текстовом поле (в шестнадцатеричном формате). Шестнадцатеричная система цвета использует шесть знаков для представления цветовых значений. Каждый знак имеет 16 возможных значений или символов. Символы находятся в диапазоне 0 — 9 и затем A — F. Например, черный — это 0x000000
, а белый — 0xFFFFFF
.
Значение по умолчанию 0 (0x000000)
public function get textColor():uint
public function set textColor(value:uint):void
textColor
на красный (0xFF0000
).
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textColor extends Sprite { public function TextField_textColor() { var tf:TextField = createCustomTextField(10, 10, 100, 300); tf.text = "This will be red text"; tf.textColor = 0xFF0000; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; addChild(result); return result; } } }
textHeight | свойство |
textHeight:Number
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Высота текста в пикселах.
public function get textHeight():Number
См. также
trace
отображают значения свойств textWidth
и textHeight
. Для сравнения также отображаются свойства width
и height
. (Обратите внимание, что значения, отображаемые для свойств textHeight
и textWidth
могут варьироваться в зависимости от шрифта, используемого на компьютере.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textHeight extends Sprite { public function TextField_textHeight() { var tf:TextField = createCustomTextField(10, 10, 100, 150); tf.text = "Sample text"; trace("textWidth: " + tf.textWidth); // textWidth: 55.75 trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001 trace("width: " + tf.width); // width: 100 trace("height: " + tf.height); // height: 150 } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; result.background = true; addChild(result); return result; } } }
textWidth | свойство |
textWidth:Number
[только для чтения] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Ширина текста в пикселах.
public function get textWidth():Number
См. также
trace
отображают значения свойств textWidth
и textHeight
. Для сравнения также отображаются свойства width
и height
. (Обратите внимание, что значения, отображаемые для свойств textHeight
и textWidth
могут варьироваться в зависимости от шрифта, используемого на компьютере.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_textHeight extends Sprite { public function TextField_textHeight() { var tf:TextField = createCustomTextField(10, 10, 100, 150); tf.text = "Sample text"; trace("textWidth: " + tf.textWidth); // textWidth: 55.75 trace("textHeight: " + tf.textHeight); // textHeight: 13.450000000000001 trace("width: " + tf.width); // width: 100 trace("height: " + tf.height); // height: 150 } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.border = true; result.background = true; addChild(result); return result; } } }
thickness | свойство |
thickness:Number
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Толщина контуров символов в данном текстовом поле. Это свойство применяется, только когда параметр flash.text.AntiAliasType
имеет значение flash.text.AntiAliasType.ADVANCED
.
Допустимый диапазон значений свойства thickness
: числа от -200 до 200. При попытке задать свойству thickness
значение, находящееся за пределами этого диапазона, проигрыватель Flash Player назначает ему ближайшее значение в диапазоне (-200 или 200).
Значение по умолчанию 0
public function get thickness():Number
public function set thickness(value:Number):void
См. также
thickness
для объекта TextField. Необходимо встроить шрифт и задать свойству antiAliasType
значение ADVANCED
.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.GridFitType; import flash.text.TextFormat; public class thicknessExample extends Sprite { public function thicknessExample() { var format1:TextFormat = new TextFormat(); format1.font="Arial"; format1.size=24; var lTxt:String = "The quick brown fox"; var tf1:TextField=createCustomTextField(0,lTxt,format1,-200); var tf2:TextField=createCustomTextField(30,lTxt,format1,0); var tf3:TextField=createCustomTextField(60,lTxt,format1,200); } private function createCustomTextField(y:Number,fldTxt:String,format:TextFormat,fldThickness:Number):TextField { var result:TextField = new TextField(); result.y=y; result.text=fldTxt; result.embedFonts=true; result.autoSize=TextFieldAutoSize.LEFT; result.antiAliasType=AntiAliasType.ADVANCED; result.gridFitType=GridFitType.PIXEL; result.thickness=fldThickness; result.setTextFormat(format); addChild(result); return result; } } }
type | свойство |
type:String
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Тип текстового поля. Одна из следующих констант класса TextFieldType: TextFieldType.DYNAMIC
, задающая динамическое текстовое поле, которое не может редактироваться пользователем, или TextFieldType.INPUT
, задающая текстовое поле ввода, которое может редактироваться пользователем.
Значение по умолчанию dynamic
public function get type():String
public function set type(value:String):void
ArgumentError — Заданный параметр type не является элементом flash.text.TextFieldType.
|
См. также
tfDynamic
и tfInput
. Текст вводится в оба поля. Однако для tfDynamic
свойство type
имеет значение TextFieldType.DYNAMIC
, а для tfInput
свойство type
имеет значение TextFieldType.INPUT
, чтобы пользователь мог модифицировать текст в поле tfInput
, а в поле tfDynamic
— только просматривать.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; public class TextField_type extends Sprite { public function TextField_type() { var tfDynamic:TextField = createCustomTextField(10, 10, 100, 20); tfDynamic.type = TextFieldType.DYNAMIC; tfDynamic.text = "hello"; var tfInput:TextField = createCustomTextField(10, 45, 100, 20); tfInput.type = TextFieldType.INPUT; tfInput.text = "world"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } }
useRichTextClipboard | свойство |
useRichTextClipboard:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Определяет, будет ли форматирование текста копироваться и вставляться вместе с самим текстом. Если задано значение true
, при копировании и вставке текста из одного поля в другое проигрыватель Flash Player также копирует и вставляет форматирование (например, выравнивание, полужирное и курсивное начертание). Для обоих полей, участвующих в операции копирования и вставки свойство useRichTextClipboard
должно иметь значение true
. Значение по умолчанию равно false
.
public function get useRichTextClipboard():Boolean
public function set useRichTextClipboard(value:Boolean):void
tf1
) и два динамических текстовых поля (tf2
и tf3
). Код назначает каждому динамическому текстовому полю объект TextFormat (полужирный шрифт Courier). Для текстового поля tf2
свойство useRichTextClipboard
имеет значение false
. Для текстового поля tf3
свойство useRichTextClipboard
имеет значение true
. Когда текст копируется из поля tf2
и вставляется в полеtf1
, вставленный фрагмент не сохраняет форматирование. Когда текст копируется из поля tf3
(у которого свойство useRichTextClipboard
имеет значение true
) и вставляется в поле tf1
вставленный фрагмент сохраняет форматирование.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFormat; public class useRichTextClipboard extends Sprite { public function useRichTextClipboard() { var format1:TextFormat = new TextFormat(); format1.font="Courier"; format1.bold=true; var tf1:TextField = createCustomTextField(10, 10, 200, 20); tf1.type=TextFieldType.INPUT; tf1.useRichTextClipboard=true; var tf2:TextField = createCustomTextField(220, 10, 200, 20); tf2.text="1.Text loses format"; tf2.setTextFormat(format1); tf2.useRichTextClipboard=false; var tf3:TextField = createCustomTextField(220, 50, 200, 20); tf3.text="2.Text includes format"; tf3.setTextFormat(format1); tf3.useRichTextClipboard=true; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } }
wordWrap | свойство |
wordWrap:Boolean
[чтение и запись] Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Логическое значение, определяющее применение переноса по словам к текстовому полю. Если свойство wordWrap
имеет значение true
, текстовое поле поддерживает перенос слов, а если оно имеет значение false
, то перенос слов запрещен. Значение по умолчанию равно false
.
public function get wordWrap():Boolean
public function set wordWrap(value:Boolean):void
true
и false
для свойства wordWrap
. Создаются два экземпляра TextField, содержимое которых превышает ширину текстового поля. Для первого поля с именем tfWrap
свойство wordWrap
имеет значение true
; а для второго (tfNoWrap
) -false
.
package { import flash.display.Sprite; import flash.text.TextField; public class TextField_wordWrap extends Sprite { public function TextField_wordWrap() { var tfWrap:TextField = createCustomTextField(10, 10, 100, 100); tfWrap.wordWrap = true; tfWrap.text = "(wordWrap = true):\nThis is very long text that will certainly extend beyond the width of this text field"; var tfNoWrap:TextField = createCustomTextField(10, 150, 100, 100); tfNoWrap.wordWrap = false; tfNoWrap.text = "(wordWrap = false):\nThis is very long text that will certainly extend beyond the width of this text field"; } private function createCustomTextField(x:Number, y:Number, width:Number, height:Number):TextField { var result:TextField = new TextField(); result.x = x; result.y = y; result.width = width; result.height = height; result.background = true; result.border = true; addChild(result); return result; } } }
TextField | () | Конструктор |
public function TextField()
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает новый экземпляр TextField. После создания экземпляра TextField вызовите метод addChild()
или addChildAt()
родительского объекта DisplayObjectContainer, чтобы добавить экземпляр в список отображения TextField.
Размер по умолчанию для текстового поля — 100 х 100 пикселов.
appendText | () | метод |
public function appendText(newText:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Добавляет строку, указанную параметром newText
, в конец текста в текстовом поле. Этот метод более эффективен, чем присвоение сложения (+=
) в свойстве text
(например, someTextField.text += moreText
), особенно для текстовых полей с большим объемом содержимого.
Параметры
newText:String — Строка, добавляемая к существующему тексту.
|
Текстовое поле outputText
настроено так, чтобы автоматически соответствовать тексту и изменять размер с выравниванием текста по левому краю с помощью свойства autoSize
. Свойство outputText.text
записывает первую строку содержимого и метод appendText()
добавляет оставшуюся часть текста. (Необязательно начинать со свойства text
. Метод appendText()
можно было использовать также для добавления текста с самого начала.) Повторное определение свойства text
приведет к перезаписи исходного текста. Используйте оператор +=
, чтобы добавлять содержимое с помощью свойства text
.
Инструкция if
проверяет, выпадает ли дата на субботу (6) или воскресенье (0). Если нет, то метод toLocaleTimeString()
возвращает местное время, которое добавляется к содержимому текстового поля.
Свойство length
текстового поля используется для считывания количества символов вплоть до вызова функции, а свойство numLines
используется для подсчета числа строк в текстовом поле. Обратите внимание, что пустые строки учитываются при подсчете строк, а пробелы или разрывы строки (\n) учитываются при определении длины содержимого.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_appendTextExample extends Sprite { public function TextField_appendTextExample() { var outputText:TextField = new TextField(); var today:Date = new Date(); outputText.x = 10; outputText.y = 10; outputText.background = true; outputText.autoSize = TextFieldAutoSize.LEFT; outputText.text = "WHAT TIME IS IT?" + "\n\n"; if((today.day == 0) || (today.day == 6)) { outputText.appendText("It's the weekend."); outputText.appendText("\n\n"); } else { outputText.appendText("The time is: "); outputText.appendText(today.toLocaleTimeString() + ".\n\n"); } outputText.appendText("Number of characters including line breaks and spaces so far: "); outputText.appendText(outputText.length.toString() + "\n"); outputText.appendText("Number of lines in the outputText: "); outputText.appendText(outputText.numLines.toString()); this.addChild(outputText); } } }
getCharBoundaries | () | метод |
public function getCharBoundaries(charIndex:int):Rectangle
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает прямоугольник, который является ограничительным блоком символа.
Параметры
charIndex:int — Отсчитываемое от нуля значение индекса для символа (например, первая позиция — 0, вторая позиция — 1 и т.д.)
|
Rectangle — Прямоугольник с минимальными и максимальными значениями по осям x и y , определяющий ограничительный блок символа.
|
См. также
getCharBoundaries()
используется для пометки (подсветки) символа, выделенного пользователем.
Класс определяет объект Shape с именем spotlight
, который будет использоваться для рисования прямоугольника вокруг каждого выделенного символа. Когда пользователь щелкает текстовое поле myTextField
, вызывается метод clickHandler()
.
В методе clickHandler()
метод getCharIndexAtPoint()
получает индекс выбранного символа на основе координат localX
и localY
щелчка мыши, которые определяются относительно содержащего объекта Sprite
. Метод getCharIndexAtPoint()
возвращает -1
, если точка (щелчок мыши) не находится в области символов. Так как текстовое поле может быть больше текста, проверяется возвращенное целое число (index
), чтобы убедиться, что пользователь щелкнул по символу. Целое число index
также используется методом getCharBoundaries()
для получения объекта Rectangle
, содержащего ограничительный блок символа. Метод clear()
все отображавшиеся ранее объекты Shape с именем spotlight
. Новый прямоугольник с размерами ширины и высоты символа создается в местоположении символа (смещение с точки с координатами (10, 10)) с помощью возвращенных координат х и у прямоугольника frame
. Чтобы сделать подсветку символа, объект Shape с именем spotlight
заполняется желтым цветом с прозрачностью 35%, чтобы символ можно было увидеть. Обратите внимание, что пробелы также рассматриваются как символы.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.geom.Rectangle; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; import flash.display.Shape; public class TextField_getCharBoundariesExample extends Sprite { private var myTextField:TextField = new TextField(); private var spotlight:Shape = new Shape(); public function TextField_getCharBoundariesExample() { myTextField.x = 10; myTextField.y = 10; myTextField.border = true; myTextField.selectable = false; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.text = "Selected a character from this text by clicking on it." myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); this.addChild(spotlight); } private function clickHandler (e:MouseEvent):void { var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if (index != -1) { var frame:Rectangle = myTextField.getCharBoundaries(index); spotlight.graphics.clear(); spotlight.graphics.beginFill(0xFFFF00, .35); spotlight.graphics.drawRect((frame.x + 10), (frame.y + 10), frame.width, frame.height); spotlight.graphics.endFill(); } } } }
getCharIndexAtPoint | () | метод |
public function getCharIndexAtPoint(x:Number, y:Number):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает значение индекса, отсчитываемое от нуля, для символа в точке, определенной параметрами x
и y
.
Параметры
x:Number — Координата x символа.
| |
y:Number — Координата у символа.
|
int — Отсчитываемое от нуля значение индекса для символа (например, первая позиция — 0, вторая позиция — 1 и т.д.) Возвращает -1, если точка не находится в области символа.
|
Первое текстовое поле содержит текст, который будет выбирать пользователь. Чтобы текст не выделялся при щелчке, свойству selectable
задается значение false. Когда пользователь щелкает текстовое поле myTextField
, вызывается метод clickHandler()
.
В методе clickHandler()
метод getCharIndexAtPoint()
возвращает индекс символа на основе координат localX
и localY
щелчка мыши. Так как текстовое поле может быть больше текста, проверяется возвращаемое целое число (index
), чтобы убедиться, что пользователь щелкнул по символу. (Метод getCharIndexAtPoint()
возвращает -1
, если точка (щелчок мыши) не находится в области символа.) Координаты мыши используются для определения координат нового текстового поля, где будет повторяться выбранный символ. Задается красный цвет для символа во втором текстовом поле. В завершение, тексту во втором поле назначается выбранный символ, получаемый с помощью метода charAt()
. Обратите внимание, что при использовании свойства text
вместо метода appendText()
приведет к перезаписи символа во втором текстовом поле, а не к его добавлению.
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.geom.Rectangle; import flash.events.MouseEvent; import flash.text.TextFieldAutoSize; public class TextField_getCharIndexAtPointExample extends Sprite { private var firstTextField:TextField = new TextField(); private var secondTextField:TextField = new TextField(); public function TextField_getCharIndexAtPointExample() { firstTextField.x = 100; firstTextField.y = 100; firstTextField.width = 260; firstTextField.height = 20; firstTextField.border = true; firstTextField.background = true; firstTextField.selectable = false; firstTextField.text = "Selected a character from this text by clicking on it." firstTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(firstTextField); this.addChild(secondTextField); } private function clickHandler (e:MouseEvent):void { var index:int = firstTextField.getCharIndexAtPoint(e.localX, e.localY); if (index != -1) { secondTextField.x = mouseX; secondTextField.y = 70; secondTextField.border = true; secondTextField.selectable = false; secondTextField.background = true; secondTextField.textColor = 0xFF0000; secondTextField.autoSize = TextFieldAutoSize.LEFT; secondTextField.text = firstTextField.text.charAt(index); } } } }
getFirstCharInParagraph | () | метод |
public function getFirstCharInParagraph(charIndex:int):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Получив индекс символа, возвращает индекс первого символа в том же абзаце.
Параметры
charIndex:int — Отсчитываемое от нуля значение индекса для символа (например, первый символ — 0, второй символ — 1 и т.д.)
|
int — Отсчитываемое от нуля значение индекса для первого символа в строке в том же абзаце.
|
RangeError — Указанный индекс символа находится за пределами диапазона.
|
В конструкторе для текстового поля myTextField
задается перенос текста. Метод getTextFormat
возвращает исходный формат первого символа содержимого текстового поля, которое помещается в объект TextFormat с именем originalFormat
. Также определяется новый объект TextFormat (newFormat
) и его свойству align
задается выравнивание по правому краю. Когда пользователь щелкает текстовое поле, вызывается метод clickHandler()
.
В методе clickHandler()
метод getCharIndexAtPoint()
возвращает индекс символа на основе координат localX
и localY
щелчка мыши. Первая инструкция if
проверяет, щелкнул ли пользователь по символу. С помощью целого числа clickIndex
, возвращенного методом getCharIndexAtPoint()
, метод getFirstCharInParagraph()
возвращает индекс первого символа в абзаце, получившем щелчок пользователя. Индекс последнего символа в абзаце определяется путем добавления длины абзаца (с помощью метода getParagraphLength()
) к индексу первого символа минут последний символ (\n
). Вторая инструкция if
проверяет формат первого символа в абзаце. Если значение свойства выравнивания совпадает с исходным форматом (по левому краю), новый формат применяется ко всем символам абзаца. В противном случае формат абзаца возвращается к исходному формату. Выравнивание, а также такие элементы форматирования, как отступ, маркер, табуляция, левое и правое поля, предназначены для абзацев. Обратите внимание, что при использовании переноса слов и разрыва строк, форматирование применяется только к верой строка абзаца, если не определен аргумент endIndex
для метода setTextFormat()
.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; import flash.text.TextFormat; import flash.text.TextFormatAlign; public class TextField_getFirstCharInParagraphExample extends Sprite { private var myTextField:TextField = new TextField(); private var originalFormat:TextFormat = new TextFormat(); private var newFormat:TextFormat = new TextFormat(); public function TextField_getFirstCharInParagraphExample() { myTextField.x = 10; myTextField.y = 10; myTextField.border = true; myTextField.wordWrap = true; myTextField.width = 300; myTextField.height = 300; myTextField.background = true; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file " + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n" + "To create a text field dynamically, use the TextField constructor.\n\n" + "The methods of the TextField class let you set, select, and manipulate " + "text in a dynamic or input text field that you create during authoring or at runtime.\n\n"); originalFormat = myTextField.getTextFormat(0); newFormat.align = TextFormatAlign.RIGHT; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); } private function clickHandler(e:MouseEvent):void { var clickIndex:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if(clickIndex != -1) { var paragraphFirstIndex:int = myTextField.getFirstCharInParagraph(clickIndex); var paragraphEndIndex:int = paragraphFirstIndex + ((myTextField.getParagraphLength(clickIndex) - 1)); if (myTextField.getTextFormat(paragraphFirstIndex).align == originalFormat.align) { myTextField.setTextFormat(newFormat, paragraphFirstIndex, paragraphEndIndex); }else { myTextField.setTextFormat(originalFormat, paragraphFirstIndex, paragraphEndIndex); } } } } }
getImageReference | () | метод |
public function getImageReference(id:String):DisplayObject
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает ссылку DisplayObject по данному идентификатору id
для изображения или SWF-файла, добавленного в текстовое поле с форматированием HTML с помощью тега <img>
. Тег <img>
имеет следующий формат:
<img src = 'filename.jpg' id = 'instanceName' >
Параметры
id:String — Идентификатор id для сопоставления (в атрибуте id тега <img> ).
|
DisplayObject — Экранный объект, соответствующий изображению или SWF-файлу с соответствующим атрибутом id в теге <img> текстового поля. Для мультимедийного содержимого, загруженного из внешнего источника, этот объект является объектом Loader, и после загрузки мультимедийный объект становится его потомком. Для мультимедийного содержимого, встроенного в SWF-файл, это загруженный объект Если не существует тега <img> с идентичным атрибутом id , метод возвращает значение null .
|
См. также
Изображение (image.jpg
) добавлено с помощью HTML. (Предполагается, что файл изображения находится в том же каталоге, что и SWF-файл.) Необходимо определить атрибут id
для тега img
, чтобы получить изображение с помощью метода getImageReference()
. Свойство htmlText
используется для добавление строкового содержимого в формате HTML. Когда пользователь щелкает текстовое поле myTextField
, вызывается метод clickHandler()
.
В методе clickHandler()
метод getImageReference()
возвращает ссылку на изображение в качестве DisplayObject
. Эта ссылка может использовать для выполнения манипуляций с изображением, как с любым объектом DisplayObject
. В данном примере заданы свойства alpha
(прозрачность) и rotation
. Также можно использовать свойство transform
для получения матрицы экранного объекта, преобразования цвета и пиксельных границ. Также обратите внимание, что необходимо импортировать объект flash.display.DisplayObject
.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.Event; import flash.events.MouseEvent; import flash.display.DisplayObject; import flash.text.TextFieldAutoSize; public class TextField_getImageReferenceExample extends Sprite { private var myTextField:TextField = new TextField(); public function TextField_getImageReferenceExample() { var myText1:String = "<p>Here is an image we want to mainpulate: <img src='image.jpg' id='testimage'></p>"; myTextField.x = 10; myTextField.y = 10; myTextField.width = 250; myTextField.height = 250; myTextField.background = true; myTextField.border = true; myTextField.border = true; myTextField.multiline = true; myTextField.htmlText = myText1; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); } private function clickHandler(e:MouseEvent):void { var imageRef:DisplayObject = myTextField.getImageReference("testimage"); imageRef.rotation += 90; imageRef.x = 125; imageRef.y = 125; imageRef.alpha = 0.25; } } }
getLineIndexAtPoint | () | метод |
public function getLineIndexAtPoint(x:Number, y:Number):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает значение индекса, отсчитываемое от нуля, для строки в точке с координатами x
и y
.
Параметры
x:Number — Координата x строки.
| |
y:Number — Координата x строки.
|
int — Отсчитываемое от нуля значение индекса для строки (например, первая строка — 0, вторая строка — 1 и т.д.) Возвращает -1, если точка не находится в области строки.
|
В конструкторе для текстового поля poem
запрещается перенос, так как это стихотворение. Также используется свойство autoSize
для автоматического соответствия поля тексту и для изменения размера с выравниванием по левому краю. Текстовое поле poemCopy
располагается под полем poem
. Когда пользователь щелкает по строке сонета, вызывается метод clickHandler()
.
В методе clickHandler()
метод getLineIndexAtPoint()
возвращает индекс строки, по которой щелкнул пользователь, на основе координат localX
и localY
щелчка мыши. (Так как стихотворение укладывается в исходный размер текстового поля, нет необходимости отлеживать ошибку (RangeError
), выдаваемую методом getCharIndexAtPoint()
.) Затем индекс строки используется для получения ее содержимого в виде строкового значения с помощью метода getLineText()
, которое после этого добавляется к содержимому текстового поля poemCopy
. Копирование может продолжаться бесконечно вплоть до момента, когда текст выйдет за пределы видимого текстового поля poemCopy
.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; public class TextField_getLineIndexAtPointExample extends Sprite { private var poem:TextField = new TextField(); private var poemCopy:TextField = new TextField(); public function TextField_getLineIndexAtPointExample() { poem.border = true; poem.autoSize = TextFieldAutoSize.LEFT; poem.x = 10; poem.wordWrap = false; poemCopy.height = 250; poemCopy.width = 270; poemCopy.y = 230; poemCopy.x = 10; poemCopy.background = true; poemCopy.border = true; poemCopy.wordWrap = false; poem.appendText("Let me not to the marriage of true minds\n" + "Admit impediments. love is not love\n" + "Which alters when it alteration finds\n" + "Or bends with the remover to remove:\n" + "O no! it is an ever-fixed mark\n" + "That looks on tempests and is never shaken;\n" + "It is the star to every wandering bark,\n" + "Whose worth's unknown, although his height be taken.\n" + "Love's not Time's fool, though rosy lips and cheeks\n" + "Within his bending sickle's compass come:\n" + "Love alters not with his brief hours and weeks,\n" + "But bears it out even to the edge of doom.\n" + "If this be error and upon me proved,\n" + "I never writ, nor no man ever loved."); poem.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(poem); this.addChild(poemCopy); } private function clickHandler(e:MouseEvent):void { var index:int = poem.getLineIndexAtPoint(e.localX, e.localY); var s:String; s = poem.getLineText(index); poemCopy.appendText(s + "\n"); } } }
getLineIndexOfChar | () | метод |
public function getLineIndexOfChar(charIndex:int):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отсчитываемое от нуля значение индекса для строки, которая содержит символ, заданный параметром charIndex
.
Параметры
charIndex:int — Отсчитываемое от нуля значение индекса для символа (например, первый символ — 0, второй символ — 1 и т.д.)
|
int — Отсчитываемое от нуля значение индекса для строки.
|
RangeError — Указанный индекс символа находится за пределами диапазона.
|
getLineIndexOfChar()
возвращает номера строк для сотого и пятисотого символов в текстовом поле.
Для текстового поля myTextField
задается перенос слов и изменение размера с выравниванием по левому краю. Метод getLineIndexOfChar()
возвращает индекс строки для символов с указанными индексами (100 и 500). Затем эти сведения добавляются после абзаца. Обратите внимание, что индекс строки отсчитывается от нуля, и поэтому индекс строки (index
) увеличивается на 1 для получения номера строки. Кроме того, если изменяется размер экрана, номер строки может измениться, но информация останется без изменений, так как метод вызывается только один раз.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_getLineIndexOfCharExample extends Sprite { public function TextField_getLineIndexOfCharExample() { var myTextField:TextField = new TextField(); myTextField.x = 10; myTextField.y = 10; myTextField.width = 200; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file" + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n"); var index:int = myTextField.getLineIndexOfChar(100); myTextField.appendText("100th character is in line: " + (index + 1) + "\n"); index = myTextField.getLineIndexOfChar(500); myTextField.appendText("500th character is in line: " + (index + 1)); this.addChild(myTextField); } } }
getLineLength | () | метод |
public function getLineLength(lineIndex:int):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает число символов в заданной строке текста.
Параметры
lineIndex:int — Номер строки, длину которой требуется определить.
|
int — Количество символов в строке.
|
RangeError — Заданный номер строки находится за пределами диапазона.
|
В качестве иллюстрации, для текстового поля myTextField
, отображающего текст, который будет подсчитываться, задается значение INPUT
, благодаря чему пользователи смогут изменять строки или добавлять строки между строк или в конце текста. (Создается пустая строка с помощью разрыва строки (\n
) в конце последней строки.) Текстовое поле countLines
, в котором отображается результат подсчета длины строки, помещается под полем myTextField
, и его содержимое не реагирует на выделение. Когда пользователь щелкает строку в текстовом поле myTextField
, вызывается метод clickHandler()
.
В методе clickHandler()
метод getLineIndexAtPoint()
возвращает индекс строки, по которой щелкнул пользователь, на основе координат localX
и localY
щелчка мыши. Первая инструкция if
проверяет, щелкнул ли пользователь по символу. Если да, то метод getLineLength()
возвращает число символов в строке на основе ее индекса. Обратите внимание, что пустые строки между строк содержат второй разрыв строки (\n
), вследствие чего их длина составляет один символ, а пустая строка после последней строки не имеет символов. Пробел засчитывается как один символ. Пользователь может написать новую строку или изменить существующую и, щелкнув по ней, получить число символов. Если используется перенос текста и изменился размер экрана, то индекс строки может измениться.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.events.Event; import flash.events.MouseEvent; public class TextField_getLineLengthExample extends Sprite { private var myTextField:TextField = new TextField(); private var countLines:TextField = new TextField(); public function TextField_getLineLengthExample() { myTextField.x = 10; myTextField.y = 10; myTextField.width = 350; myTextField.height = 150; myTextField.background = true; myTextField.border = true; myTextField.type = TextFieldType.INPUT; myTextField.appendText("Click on the lines to count its number of characters:\n\n"); myTextField.appendText("This is a short line.\n"); myTextField.appendText("This is a longer line than the last line.\n\n"); myTextField.appendText("This one is even longer than the one before. It has two sentences.\n"); this.addChild(myTextField); countLines.border = true; countLines.x = 10; countLines.y = 180; countLines.height = 30; countLines.width = 200; countLines.background = true; countLines.selectable = false; this.addChild(countLines); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(e:MouseEvent):void { var index:int = myTextField.getLineIndexAtPoint(e.localX, e.localY); if (index != -1) { var lenght:int = myTextField.getLineLength(index); countLines.text = "Number of characters in the line is: " + lenght.toString(); } } } }
getLineMetrics | () | метод |
public function getLineMetrics(lineIndex:int):TextLineMetrics
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает данные метрик для заданной строки текста.
Параметры
lineIndex:int — Номер строки, для которой требуется получить данные метрик.
|
TextLineMetrics — Объект TextLineMetrics.
|
RangeError — Заданный номер строки находится за пределами диапазона.
|
См. также
Добавляются две строки из стихотворения Уолта Уитмена Песня о себе. Новый объект TextFormat (newFormat
) используется для указания формата второй строки. Первая строка сохраняет формат по умолчанию. Метод getLineMetrics()
возвращает объект TextLineMetrics
для конкретной строки. (Индекс строки отсчитывается от нуля.) С использованием объектов TextLineMetrics с именами metrics1
и metrics2
для строк 1 и 2 соответственно получаются и отображаются значения для подъема, спуска, высоты и веса строки. Полученные числа преобразуются в строковые значения, но не округляются. Обратите внимание, что это значение для строки, а не для отдельного символа. Оно отражает диапазон символов всей строки. Например, если в строке есть разные символы с разными форматами высоты, то это значение будет определяться символом с наибольшей высотой. Так же это значит, что при изменении формата одного из символов могут измениться и некоторые значения метрик.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextLineMetrics; import flash.text.TextFieldAutoSize; import flash.text.AntiAliasType; import flash.text.TextFormat; public class TextField_getLineMetricsExample extends Sprite { public function TextField_getLineMetricsExample() { var myTextField:TextField = new TextField(); var newFormat:TextFormat = new TextFormat(); myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.wordWrap = false; myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.appendText("A child said What is the grass? fetching it to me with full hands;\n"); myTextField.appendText("How could I answer the child? I do not know what it is any more than he.\n\n"); newFormat.size = 14; newFormat.font = "Arial"; newFormat.italic = true; myTextField.setTextFormat(newFormat, 67, 139); var metrics1:TextLineMetrics = myTextField.getLineMetrics(0); myTextField.appendText("Metrics ascent for the line 1 is: " + metrics1.ascent.toString() + "\n"); myTextField.appendText("Metrics descent is: " + metrics1.descent.toString() + "\n"); myTextField.appendText("Metrics height is: " + metrics1.height.toString() + "\n"); myTextField.appendText("Metrics width is: " + metrics1.width.toString() + "\n\n"); var metrics2:TextLineMetrics = myTextField.getLineMetrics(1); myTextField.appendText("Metrics ascent for the line 2 is: " + metrics2.ascent.toString() + "\n"); myTextField.appendText("Metrics descent is: " + metrics2.descent.toString() + "\n"); myTextField.appendText("Metrics height is: " + metrics2.height.toString() + "\n"); myTextField.appendText("Metrics width is: " + metrics2.width.toString() + "\n"); addChild(myTextField); } } }
getLineOffset | () | метод |
public function getLineOffset(lineIndex:int):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает индекс первого символа в строке, заданной параметром lineIndex
.
Параметры
lineIndex:int — Отсчитываемое от нуля значение индекса для строки (например, первая строка — 0, вторая строка — 1 и т.д.)
|
int — Отсчитываемое от нуля значение индекса для первого символа в строке.
|
RangeError — Заданный номер строки находится за пределами диапазона.
|
Для текстового поля myTextField
разрешается перенос слов. В текстовом поле countField
будет отображаться первый символ строки 4. Когда пользователь щелкает текстовое поле myTextField
, вызывается метод clickHandler()
.
В методе clickHandler()
метод getLineOffset()
возвращает индекс первого символа в строке с индексом 3, которая является четвертой строкой текста. (Первая строка имеет индекс 0.) Метод charAt()
используется для получения символа на основе индекса первого символа четвертой строки. Содержимое countField
обновляется этой информацией с помощью свойстваtext
текстового поляcountField
. Использование свойства countField.text
означает, что после каждого щелчка мыши содержимое текстового поля countField
будет переписываться. Если пользователь изменит размер экрана, содержимое будет перенесено, и первый символ строки 4 может измениться. При повторном щелчке по полю myTextField
содержимое текстового поля countField
обновляется, отображая новый первый символ четвертой строки.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_getLineOffsetExample extends Sprite { private var myTextField:TextField = new TextField(); private var countField:TextField = new TextField(); public function TextField_getLineOffsetExample() { myTextField.x = 10; myTextField.y = 10; myTextField.width = 150; myTextField.height = 300; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; countField.height = 20; countField.width = 200; countField.x = 10; countField.y = 320; countField.selectable = false; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file " + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript."); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); this.addChild(myTextField); this.addChild(countField); } private function clickHandler(e:MouseEvent):void { var c:String; var index:int; index = myTextField.getLineOffset(3); c = myTextField.text.charAt(index); countField.text = "The first character of line 4 is: " + c; } } }
getLineText | () | метод |
public function getLineText(lineIndex:int):String
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает текст строки, заданной параметром lineIndex
.
Параметры
lineIndex:int — Отсчитываемое от нуля значение индекса для строки (например, первая строка — 0, вторая строка — 1 и т.д.)
|
String — Текстовая строка, содержащаяся в заданной строке.
|
RangeError — Заданный номер строки находится за пределами диапазона.
|
Для текстового поля poem
задано автоматическое соответствие тексту и изменение размера с выравниванием по левому краю. Свойству wordWrap
задано значение false
, чтобы строки стихотворения не переносились, хотя обычно при использовании свойства autoSize
это не вызывает проблем. Цикл for
повторяет процедуру для всех строк сонета с использованием свойства numLines
текстового поля. Метод getLineText()
возвращает содержимое строки в виде строкового значения. (Обратите внимание, что свойство numLines
возвращает количество строк, начиная со строки 1, а метод getLineText()
начинает отсчет строк с 0.) С помощью регулярного выражения (/love/i
) инструкция if
ищет любую подстроку слова, написанного заглавными и строчными буквами. Если слово обнаружено, метод search
возвращает индекс первой соответствующей подстроки, в противном случае он возвращает значение -1
(если соответствий не найдено). Строка, в которой найдено слово "love" ((i + 1)
) помещается в строковое значение lineResult
. Метод string преобразует аргумент номера ((i + 1)
) в строковое значение, если присутствует другой строковый аргумент (" "). Результат поиска будет включать строки со словами "loved" или "Love's". Если перед циклом for
строка была добавлена "Слово "love" найдено в строках:", то слово "Love" в этой строке также будет включено в результат.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; public class TextField_getLineTextExample extends Sprite { public function TextField_getLineTextExample() { var poem:TextField = new TextField(); var lineResult:String = ""; var pattern:RegExp = /love/i; poem.x = 10; poem.y = 10; poem.background = true; poem.wordWrap = false; poem.autoSize = TextFieldAutoSize.LEFT; poem.text = "Let me not to the marriage of true minds\n" + "Admit impediments. love is not love\n" + "Which alters when it alteration finds\n" + "Or bends with the remover to remove:\n" + "O no! it is an ever-fixed mark\n" + "That looks on tempests and is never shaken;\n" + "It is the star to every wandering bark,\n" + "Whose worth's unknown, although his height be taken.\n" + "Love's not Time's fool, though rosy lips and cheeks\n" + "Within his bending sickle's compass come:\n" + "Love alters not with his brief hours and weeks,\n" + "But bears it out even to the edge of doom.\n" + "If this be error and upon me proved,\n" + "I never writ, nor no man ever loved.\n\n"; for (var i:int = 0; i < poem.numLines; i++) { var s:String = poem.getLineText(i); if(s.search(pattern) != -1) { lineResult += (i + 1) + " "; } } poem.appendText("Love was found in lines: " + lineResult); this.addChild(poem); } } }
getParagraphLength | () | метод |
public function getParagraphLength(charIndex:int):int
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Используя полученный индекс символа, возвращает длину абзаца, содержащего этот символ. Длина отсчитывается от первого символа в абзаце (возвращенного методом getFirstCharInParagraph()
), а не от переданного индекса символа.
Параметры
charIndex:int — Отсчитываемое от нуля значение индекса для символа (например, первый символ — 0, второй символ — 1 и т.д.)
|
int — Возвращает количество символов в абзаце.
|
RangeError — Указанный индекс символа находится за пределами диапазона.
|
См. также
В текстовом поле myTextField
отображаются абзацы, которые будет выбирать пользователь. При щелчке по текстовому полю отправляется событие MouseEvent.CLICK
, и вызывается метод clickHandler()
. Длина абзаца и количество символов "s" будут отображаться в текстовом поле countField
, расположенном под полем myTextField
.
В методе clickHandler()
метод getCharIndexAtPoint()
возвращает индекс символа на основе координат localX
и localY
щелчка мыши. Первая инструкция if
проверяет, щелкнул ли пользователь по символу. Метод getFirstCharInParagraph()
использует этот индекс, чтобы получить индекс первого символа в том же абзаце. Длина абзаца, возвращенная методом getParagraphLength()
, используется вместе с индексом первого символа в абзаце для определения индекса последнего символа. Цикл for
повторяет операцию поиска и подсчета символов "s" в абзаце.
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_getParagraphLengthExample extends Sprite { private var myTextField:TextField = new TextField(); private var countField:TextField = new TextField(); public function TextField_getParagraphLengthExample() { myTextField.x = 10; myTextField.y = 10; myTextField.background = true; myTextField.border = true; myTextField.wordWrap = true; myTextField.width = 300; myTextField.height = 280; myTextField.appendText("The TextField class is used to create display objects for " + "text display and input. All dynamic and input text fields in a SWF file" + "are instances of the TextField class. You can use the TextField class " + "to perform low-level text rendering. However, in Flex, you typically use " + "the Label, Text, TextArea, and TextInput controls to process text. " + "You can give a text field an instance name in the Property inspector " + "and use the methods and properties of the TextField class to manipulate it with ActionScript. " + "TextField instance names are displayed in the Movie Explorer and in the Insert " + "Target Path dialog box in the Actions panel.\n\n" + "To create a text field dynamically, use the TextField() constructor.\n\n" + "The methods of the TextField class let you set, select, and manipulate " + "text in a dynamic or input text field that you create during authoring or at runtime."); myTextField.addEventListener(MouseEvent.CLICK, clickHandler); countField.x = 10; countField.y = 300; countField.height = 50; countField.width = 250; countField.background = true; countField.selectable = false; this.addChild(myTextField); this.addChild(countField); } private function clickHandler(e:MouseEvent):void { var index:int = myTextField.getCharIndexAtPoint(e.localX, e.localY); if(index != -1) { var beginParag:int = myTextField.getFirstCharInParagraph(index); var paragLength:int = myTextField.getParagraphLength(index); var endParag:int = beginParag + paragLength; var sCount:uint = 0; for (var i:int = beginParag; i <= endParag; i++) { if ((myTextField.text.charAt(i) == "s") || (myTextField.text.charAt(i) == "S")) { sCount++; } countField.text = "Paragraph length is: " + paragLength.toString() + "\n" + "Number of 's' characters in the paragraph: " + sCount.toString(); } } } } }
getTextFormat | () | метод |
public function getTextFormat(beginIndex:int = -1, endIndex:int = -1):TextFormat
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Возвращает объект TextFormat, содержащий данные о форматировании для фрагмента текста, заданного параметрами beginIndex
и endIndex
. В полученном объекте TextFormat задаются только свойства, используемые для всего заданного текста. Смешанные свойства (те, которые имеют разные значения для разных участков текста) имеют значение null
.
Если не задать значения для этих параметров, то метод применяется ко всему содержимому текстового поля.
В следующей таблице описываются три способа применения.
Применение | Описание |
---|---|
my_textField.getTextFormat() | Возвращает объект TextFormat, содержащий информацию о форматировании для всего содержимого текстового поля. В полученном объекте TextFormat задаются только свойства, используемые для всего текста в поле. Смешанные свойства (те, которые имеют разные значения для разных участков текста) имеют значение null . |
my_textField.getTextFormat(beginIndex:Number) | Возвращает объект TextFormat, содержащий копию формата текста для символа в положении beginIndex . |
my_textField.getTextFormat(beginIndex:Number,endIndex:Number) | Возвращает объект TextFormat, содержащий информацию о форматировании для фрагмента текста от beginIndex до endIndex-1 . В полученном объекте TextFormat задаются только свойства, используемые для всего заданного текста. Смешанные свойства (те, которые имеют разные значения для разных участков выбранного текста) имеют значение null . |
Параметры
beginIndex:int (default = -1 ) — Необязательно; целое число, указывающее начальное положение фрагмента текста в текстовом поле.
| |
endIndex:int (default = -1 ) — Необязательно; целое число, указывающее положение первого символа после нужного фрагмента текста. В соответствии с дизайном, если задать значения beginIndex и endIndex , считывается текст с beginIndex по endIndex-1 .
|
TextFormat — Объект TextFormat, представляющий свойства форматирования для указанного текста.
|
RangeError — Заданный параметр beginIndex или endIndex находится за пределами диапазона.
|
См. также
setTextFormat()
.
isFontCompatible | () | метод |
public static function isFontCompatible(fontName:String, fontStyle:String):Boolean
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10 |
Возвращает значение "true", если доступен встроенный шрифт с указанными свойствами fontName
и fontStyle
, где Font.fontType
— это flash.text.FontType.EMBEDDED
. Начиная с Flash Player 10, SWF-файле могут отображаться два вида встроенных шрифтов. Обычные встроенные шрифты используются только с объектами TextField. Встроенные шрифты CFF используются только с классами flash.text.engine. Два типа различаются свойством fontType
класса Font
, возвращенным функцией enumerateFonts()
.
Объект TextField не может использовать шрифт типа EMBEDDED_CFF
. Если свойство embedFonts
имеет значение true
и в среде выполнения единственным доступным шрифтом с заданным именем и стилем является шрифт типа EMBEDDED_CFF
, Flash Player не визуализирует текст, как если бы встроенного шрифта с заданным именем и стилем не было.
Если имеются шрифты EMBEDDED
и EMBEDDED_CFF
с одинаковым именем и стилем, выбирается шрифт типа EMBEDDED
и используется для визуализации текста с помощью шрифта EMBEDDED
.
Параметры
fontName:String — Имя проверяемого встроенного шрифта.
| |
fontStyle:String — Задает стиль шрифта для проверки. Используйте flash.text.FontStyle
|
Boolean — Значение true , если доступен совместимый встроенный шрифт, в противном случае, значение — false .
|
ArgumentError — Заданное свойство fontStyle не является членом flash.text.FontStyle .
|
См. также
replaceSelectedText | () | метод |
public function replaceSelectedText(value:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Заменяет текущий выделенный фрагмент содержимым параметра value
. Текст вставляется в положении текущего выделенного фрагмента с использованием текущих форматов символов и абзаца по умолчанию. Текст обрабатывается не как HTML.
Можно использовать метод replaceSelectedText()
для вставки и удаления текста без нарушения форматирования символов и абзацев остальной части текста.
Примечание. Этот метод не работает, если к текстовому полю применена таблица стилей.
Параметры
value:String — Строка для замены текущего выделенного текста.
|
Error — Этот метод нельзя использовать для текстового поля с таблицей стилей.
|
См. также
Создаются два разных объекта TextField, к которым добавляются два прослушивателя события MouseEvent.MOUSE_UP
. Это событие (подъем мыши) происходит, когда пользователь отпускает кнопку мыши, что обычно бывает после выделения текста. Обратите внимание, что по умолчанию текстовое поле допускает выделение текста.
Метод mouseHandler1()
стирает выделенный текст, заменяя его пустой строкой, когда пользователь отпускает кнопку мыши в текстовом поле myTextField1
. Это может продолжаться, пока не будет удален весь текст. Когда пользователь выделяет текст в поле myTextField2
, метод mouseHandler2()
проверяет свойства selectionBeginIndex
и selectionEndIndex
, чтобы определить, выделены ли символы. (Свойства selectionBeginIndex
и selectionEndIndex
имеют разное значение при выделении текста.) После этого выделенный текст заменяется строкой "NEW TEXT". Это может продолжаться до тек пор, пока весь исходный текст во втором окне не будет заменен строкой "NEW TEXT".
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.MouseEvent; public class TextField_replaceSelectedTextExample extends Sprite { private var myTextField1:TextField = new TextField(); private var myTextField2:TextField = new TextField(); public function TextField_replaceSelectedTextExample() { myTextField1.x = 10; myTextField1.width = 300; myTextField1.height = 50; myTextField1.background = true; myTextField1.border = true; myTextField1.text = "Select the text you want to remove from the line."; myTextField2.x = 10; myTextField2.y = 60; myTextField2.width = 300; myTextField2.height = 50; myTextField2.background = true; myTextField2.border = true; myTextField2.text = "Select the text you want to replace with NEW TEXT."; myTextField1.addEventListener(MouseEvent.MOUSE_UP, mouseHandler1); myTextField2.addEventListener(MouseEvent.MOUSE_UP, mouseHandler2); this.addChild(myTextField1); this.addChild(myTextField2); } private function mouseHandler1(e:MouseEvent):void { myTextField1.replaceSelectedText(""); } private function mouseHandler2(e:MouseEvent):void { if(myTextField2.selectionBeginIndex != myTextField2.selectionEndIndex) { myTextField2.replaceSelectedText("NEW TEXT"); } } } }
replaceText | () | метод |
public function replaceText(beginIndex:int, endIndex:int, newText:String):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Заменяет диапазон символов, заданный параметрами beginIndex
и endIndex
, содержанием параметра newText
. Согласно плану, заменяется текст от beginIndex
до endIndex-1
.
Примечание. Этот метод не работает, если к текстовому полю применена таблица стилей.
Параметры
beginIndex:int — Отсчитываемое от нуля значение индекса для начального положения диапазона замены.
| |
endIndex:int — Отсчитываемая от нуля позиция индекса первого символа после нужного фрагмента текста.
| |
newText:String — Текст для замены заданного диапазона символов.
|
Error — Этот метод нельзя использовать для текстового поля с таблицей стилей.
|
replaceText()
для удаления, замены и вставки текста в поле.
Для текстового поля outputText
задано автоматическое соответствие размерам текста и изменение размера с выравниванием по левому краю. Первый вызов метода replaceText()
заменяет первую строку ("This is the wrong heading" (Это неправильный заголовок)) текстом "THIS IS THE HEADING FOR EVERYONE" (ЭТО ЗАГОЛОВОК ДЛЯ ВСЕХ). Второй вызов метода вставляет слово "CORRECT" (ПРАВИЛЬНЫЙ) между "THE" и "HEADING". Третий вызов метода удаляет слова "FOR EVERYONE". Обратите внимание, что при каждом вызове методаappendText()
изменяются текущие начальный и конечный индексы текста. Здесь будет отображаться только окончательный текст (после всех изменений).
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_replaceTextExample extends Sprite { public function TextField_replaceTextExample() { var outputText:TextField = new TextField(); outputText.x = 10; outputText.y = 10; outputText.background = true; outputText.autoSize = TextFieldAutoSize.LEFT; outputText.appendText("This is the wrong heading"); outputText.appendText("\n\n"); outputText.appendText("This is the body of the text."); outputText.replaceText(0, 25, "THIS IS THE HEADING FOR EVERYONE"); outputText.replaceText(12, 12, "CORRECT "); outputText.replaceText(27, 40, ""); this.addChild(outputText); } } }
setSelection | () | метод |
public function setSelection(beginIndex:int, endIndex:int):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Задает способ разметки текста с помощью индексов первого и последнего символов, которые указываются параметрами beginIndex
и endIndex
Если два параметра имеют одинаковые значения, этот метод задает точку вставки, как при использовании свойства caretIndex
.
Параметры
beginIndex:int — Отсчитываемое от нуля значение индекса для выделенного символа (например, первый символ — 0, второй символ — 1 и т.д.)
| |
endIndex:int — Отсчитываемое от нуля значение индекса для последнего символа в выделенном фрагменте.
|
См. также
Два прослушивателя событий для текстового поля myTextField
реагируют на щелчки и подъем мыши. Подъем мыши происходит, когда пользователь отпускает кнопку мыши, что обычно бывает после выделения текста. Обратите внимание, что по умолчанию текстовое поле допускает выделение текста. При щелчке по тексту вызывается метод clickHandler()
. Когда мышь отпускается после выделения текста, вызывается метод mouseUpHandler()
.
И в clickHandler()
и в mouseUpHandler()
метод setSelection()
задает для выделения только символы между индексами 54 и 70 (ТЕКСТ ЗАГЛАВНЫМИ БУКВАМИ).
package { import flash.display.Sprite; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_setSelectionExample extends Sprite { private var myTextField:TextField = new TextField(); public function TextField_setSelectionExample() { myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS is selected."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); myTextField.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); this.addChild(myTextField); } private function clickHandler(event:MouseEvent):void { myTextField.setSelection(54, 70); } private function mouseUpHandler(event:MouseEvent):void { myTextField.setSelection(54, 70); } } }
setTextFormat | () | метод |
public function setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Применяет форматирование текста, заданное параметром format
, к указанному содержимому текстового поля. Значением параметра format
должен быть объект TextFormat, определяющий необходимые изменения формата текста. К текстовому полю применяются только ненулевые свойства format
. Свойства параметра format
, имеющие значение null
, не применяются. По умолчанию все свойства вновь созданного объекта TextFormat имеют значение null
.
Примечание. Этот метод не работает, если к текстовому полю применена таблица стилей.
Метод setTextFormat()
изменяет форматирование текста, применяемое к диапазону символов или ко всему содержимому текстового поля. Чтобы применить свойства формата ко всему тексту в поле, не нужно задавать значения для beginIndex
и endIndex
. Чтобы применить свойства формата к фрагменту текста, задайте значения для параметров beginIndex
и endIndex
. Для определения значений индекса можно использовать свойство length
.
Объект TextFormat содержит два типа информации о форматировании: форматирование символов и форматирование абзацев. Каждый символ в текстовом поле может иметь собственные параметры формата символов, такие как имя и размер шрифта, полужирное или курсивное начертание.
Для абзацев параметры форматирования всего абзаца определяются по его первому символу. В качестве примера можно назвать такие параметры форматирования, как левое, правое поле и отступ.
Любой текст, вставленный пользователем вручную или замененный методом replaceSelectedText()
, получает форматирование текстового поля по умолчанию для нового текста, а не то, которое задано для точки вставки текста. Форматирование по умолчанию для нового текста задается с помощью свойства defaultTextFormat
.
Параметры
format:TextFormat — Объект TextFormat, содержащий информацию о форматировании символов и абзацев.
| |||||||||
beginIndex:int (default = -1 ) — Необязательно; целое число, указывающее отсчитываемую от нуля позицию индекса, определяющую первый символ нужного фрагмента текста.
| |||||||||
endIndex:int (default = -1 ) — Необязательно; целое число, указывающее первый символ после нужного фрагмента текста. В соответствии с планом, если задать значения beginIndex и endIndex , обновляется текст с beginIndex по endIndex-1 .
Обратите внимание, что текст, вставленный пользователем вручную или замененный методом |
Error — Этот метод нельзя использовать для текстового поля с таблицей стилей.
| |
RangeError — Заданный параметр beginIndex или endIndex находится за пределами диапазона.
|
См. также
Добавляется прослушиватель событий для текстового поля myTextField
, который реагирует на щелчки мышью, вызывая метод clickHandler()
. В методе clickHandler()
метод getTextFormat()
возвращает текущий формат символа (индекс 55) из заданного фрагмента текста, который затем помещается в объект TextFormat с именем currentTextFormat
. Инструкция if
проверяет формат текста currentTextFormat
, чтобы узнать, использует ли символ заданного диапазона новый формат (с размером шрифта 18). Если нет, новый формат изменяет размер на 18, задает красный цвет, а также применяет подчеркивание и курсив к диапазону символов 54-70 (ТЕКСТ ЗАГЛАВНЫМИ БУКВАМИ). Если символ в диапазоне использует новый формат, то формат диапазона возвращается к исходному формату по умолчанию для данного текстового поля.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFieldAutoSize; import flash.events.MouseEvent; public class TextField_setTextFormatExample extends Sprite { private var myTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextField_setTextFormatExample() { myTextField.autoSize = TextFieldAutoSize.LEFT; myTextField.selectable = false; myTextField.background = true; myTextField.text = "No matter where you click on this text field only the TEXT IN ALL CAPS changes format."; myTextField.addEventListener(MouseEvent.CLICK, clickHandler); newFormat.color = 0xFF0000; newFormat.size = 18; newFormat.underline = true; newFormat.italic = true; this.addChild(myTextField); } private function clickHandler(event:MouseEvent):void { var currentTextFormat:TextFormat = myTextField.getTextFormat(55); if(currentTextFormat.size != 18) { myTextField.setTextFormat(newFormat, 54, 70); } else { myTextField.setTextFormat(myTextField.defaultTextFormat); } } } }
change | Событие |
flash.events.Event
flash.events.Event.CHANGE
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется после изменения значения элемента управления, в отличие от события textInput
, которое отправляется перед изменением значения. В отличие от события change
версии W3C DOM Event Model, которое отправляет событие только после перехода фокуса с элемента управления, событие change
версии ActionScript 3.0 отправляется при каждом изменении элемента управления. Например, если пользователь вводит текст в поле, то событие change
отправляется после каждого нажатия клавиши.
Event.CHANGE
определяет значение свойства type
объекта события change
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | true |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект, значение которого было изменено. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget , чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент. |
Создается два текстовых поля: одно для пользовательского ввода, а другое (headingTextField
) для его копии. Также создается объект TextFormat, и текстовому полю headingTextField
назначается формат текста по умолчанию. При изменении содержимого текстового поля вызывается метод changeHandler()
, который назначает текст в полеinputTextField
текстовому полюheadingTextField
. (Если метод был вызван для события TextEvent.TEXT_INPUT
, а не для события Event.CHANGE
, содержимое пользовательского ввода копируется только после того, как пользователь введет больше текста.)
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.events.Event; import flash.events.TextEvent; public class TextField_Event_changeExample extends Sprite { private var inputTextField:TextField = new TextField(); private var headingTextField:TextField = new TextField(); private var newFormat:TextFormat = new TextFormat(); public function TextField_Event_changeExample() { headingTextField.x = 10; headingTextField.y = 10; headingTextField.height = 30; headingTextField.width = 400; headingTextField.background = true; headingTextField.backgroundColor = 0xF5F5DC; headingTextField.selectable = false; inputTextField.x = 10; inputTextField.y = 70; inputTextField.height = 20; inputTextField.width = 230; inputTextField.background = true; inputTextField.border = true; inputTextField.maxChars = 40; inputTextField.wordWrap = true; inputTextField.type = TextFieldType.INPUT; inputTextField.addEventListener(Event.CHANGE, changeHandler); newFormat.bold = true; newFormat.size = 18; newFormat.color = 0xFF0000; newFormat.align = TextFormatAlign.CENTER; headingTextField.defaultTextFormat = newFormat; this.addChild(inputTextField); this.addChild(headingTextField); } private function changeHandler(e:Event):void { headingTextField.text = inputTextField.text; } } }
link | Событие |
flash.events.TextEvent
flash.events.TextEvent.LINK
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется, когда пользователь щелкает в текстовом поле с поддержкой HTML гиперссылку, в которой URL-адрес начинается с event: Часть URL-адреса после event: помещается в свойство text события LINK.
Примечание. Поведение по умолчанию (добавление текста в текстовое поле) происходит только тогда, когда проигрыватель Flash Player генерирует событие, что в данном случае имеет место, когда пользователь пытается ввести текст. Нельзя ввести текст в поле, отправляя ему события textInput
.
type
для объекта события link
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | true |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Текстовое поле, содержащее гиперссылку, по которой щелкнул пользователь. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget , чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент. |
text | Оставшаяся часть URL после "event:" |
playMP3()
. Создается объект TextField с именем list
, который заполняется HTML-текстом. Текст Track 1
(Трек 1) и Track 2
являются ссылками внутри текстового поля. Когда пользователь щелкает любую из ссылок, вызывается функция playMP3(). Имя файла MP3, которое идет после строки event: в атрибуте href
тега HTML, передается методу linkHandler()
в качестве свойства text
объекта события link
.package { import flash.display.Sprite; import flash.errors.IOError; import flash.events.IOErrorEvent; import flash.events.TextEvent; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class TextField_event_link extends Sprite { private var myMP3:Sound; public function TextField_event_link() { myMP3 = new Sound(); var list:TextField = new TextField(); list.autoSize = TextFieldAutoSize.LEFT; list.multiline = true; list.htmlText = "<a href=\"event:track1.mp3\">Track 1</a><br>"; list.htmlText += "<a href=\"event:track2.mp3\">Track 2</a><br>"; addEventListener(TextEvent.LINK, linkHandler); addChild(list); } private function playMP3(mp3:String):void { try { myMP3.load(new URLRequest(mp3)); myMP3.play(); } catch(err:Error) { trace(err.message); } myMP3.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); } private function linkHandler(linkEvent:TextEvent):void { playMP3(linkEvent.text); } private function errorHandler(errorEvent:IOErrorEvent):void { trace(errorEvent.text); } } }
scroll | Событие |
flash.events.Event
flash.events.Event.SCROLL
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Отправляется объектом TextField, когда пользователь выполняет прокрутку.
КонстантаEvent.SCROLL
определяет значение свойства type
объекта события scroll
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; нет поведения по умолчанию для отмены. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Прокручиваемый объект TextField. Свойство target не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget , чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент. |
mouseDown
и вызывается связанный с ним обработчик mouseDownScroll
. Обработчик mouseDownScroll()
инициирует прокручивание поля. Затем отправляется событие scroll
, и связанный обработчик scrollHandler()
обновляет второе текстовое поле, так чтобы в нем отображалась текущее положение прокрутки.
package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextScrollExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); private var myText:String = "Hello world and welcome to the show. It's really nice to meet you. Take your coat off and stay a while. OK, show is over. Hope you had fun. You can go home now. Don't forget to tip your waiter. There are mints in the bowl by the door. Thank you. Please come again."; public function TextScrollExample() { myTextBox1.text = myText; myTextBox1.width = 200; myTextBox1.height = 50; myTextBox1.multiline = true; myTextBox1.wordWrap = true; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownScroll); myTextBox1.addEventListener(Event.SCROLL, scrollHandler); } public function mouseDownScroll(event:MouseEvent):void { myTextBox1.scrollV++; } public function scrollHandler(event:Event):void { myTextBox2.text="scrolled to line: " + myTextBox1.scrollV; } } }
textInput | Событие |
flash.events.TextEvent
flash.events.TextEvent.TEXT_INPUT
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Flash Player отправляет событие textInput
, когда пользователь вводит один или несколько символов текста. Это событие может генерироваться различными методами ввода текста, включая стандартную клавиатуру, редакторы ввода текста (IME), системы распознавания голоса и речи и даже просто вставкой простого текста без форматирования или информации о стилях.
type
для объекта события textInput
.
Данное событие имеет следующие свойства.
Свойство | Значение |
---|---|
bubbles | true |
cancelable | true ; вызовите метод preventDefault() для отмены поведения по умолчанию. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Текстовое поле, в которое вводятся символы. Цель не всегда является объектом из списка отображения, для которого зарегистрирован прослушиватель событий. Используйте свойство currentTarget , чтобы обратиться к объекту в списке отображения, обрабатывающему событие в данный момент. |
text | Символ или последовательность символов, введенных пользователем. |
textInput
, вызывается обработчик textInputHandler()
, и символы отображаются во втором текстовом поле. При вставке блока текста в поле ввода, обработчик события копирует весь блок во второе поле.
package { import flash.display.Sprite; import flash.text.*; import flash.events.Event; import flash.events.TextEvent; import flash.events.MouseEvent; public class TextInputExample extends Sprite { private var myTextBox1:TextField = new TextField(); private var myTextBox2:TextField = new TextField(); public function TextInputExample() { myTextBox1.type = TextFieldType.INPUT; myTextBox1.width = 200; myTextBox1.height = 20; myTextBox1.background = true; myTextBox1.border = true; myTextBox2.x=220; addChild(myTextBox1); addChild(myTextBox2); myTextBox1.addEventListener(TextEvent.TEXT_INPUT,textInputHandler); } public function textInputHandler(event:TextEvent):void { myTextBox2.text=event.text; } } }
TextFieldExample
используется для отображения текстового сообщения. Для этого выполняются следующие действия.
label
типа TextField.configureLabel()
.configureLabel()
сначала создает новый объект TextField и назначает его свойству label
, а затем задает для него следующие параметры:
configureLabel()
создает переменную format
и назначает ее новому экземпляру TextFormat, задав следующие параметры:
defaultTextFormat
текстового поля label
получает значение format
, и экземпляр label
добавляется в список отображения, который сначала показывает в рабочей области текстовое поле без текста.label
текст "Hello world and welcome to the show"
(Здравствуйте все и добро пожаловать на представление), вызвав метод setLabel()
.package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; public class TextFieldExample extends Sprite { private var label:TextField; private var labelText:String = "Hello world and welcome to the show."; public function TextFieldExample() { configureLabel(); setLabel(labelText); } public function setLabel(str:String):void { label.text = str; } private function configureLabel():void { label = new TextField(); label.autoSize = TextFieldAutoSize.LEFT; label.background = true; label.border = true; var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.color = 0xFF0000; format.size = 10; format.underline = true; label.defaultTextFormat = format; addChild(label); } } }