Это выражение привязывает созданный нами перехватчик к полю ввода

txtName.

Один и тот же перехватчик можно привязать сразу к нескольким текстовым блокам:

txtName2.addListener(myListener); txtFamily.addListener(myListener); Это значит, что события, происходящие в разных текстовых блоках, можно обрабатывать с помощью одного комплекта функций-обработчиков. Иногда это бывает полезно, особенно если обработчики, привязанные к разным текстовым блокам, делают одно и то же.

Чтобы "отвязать" от текстового блока ненужный более перехватчик, воспользуемся методом removeListener. Этот метод в качестве единственного параметра также принимает ссылку на перехватчик.

txtName.removeListener(myListener); Теперь останется только совсем удалить ненужный перехватчик:

delete myListener;

Создание и удаление текстовых блоков из сценариев

Flash также позволяет создавать и удалять текстовые блоки с помощью особых сценариев. Сейчас мы выясним, как это делается.

Для создания поля ввода или динамического текстового блока используется метод createTextFieid объекта movieciip. Формат его вызова таков:

<Клип>.createTextField(<Ммя>, <Порядок перекрытия>, <Х>, <Y>,

'Ь<Ширина>, <Высота>) ; Первый параметр задает имя создаваемого поля ввода или динамического текстового блока в строковом виде, а второй - его порядок перекрытия. Третий и четвертый параметры задают соответственно горизонтальную и вертикальную координаты верхнего левого угла создаваемого текстового блока относительно клипа, в котором он создается. Последние два параметра задают размеры - ширину и высоту - текстового блока. И координаты, и размеры задаются в пикселах.

Нужно помнить, что с помощью этого метода создается динамический текстовый блок, т. е. свойство type соответствующего экземпляра объекта TextField сразу же получит значение "dynamic". Чтобы преобразовать этот экземпляр в поле ввода, нужно присвоить свойству type строку "input". Например:

_root.createTextFieid("txtName", 0, 100, 100, 200, 50);

_root.txtName.type = "input";

_root.txtName.variable = "Name"; Этот сценарий создает поле ввода txtName и привязывает его к переменной

Name.

Для удаления созданного с помощью метода createTextFieid текстового блока используется метод removeTextField объекта TextField:

_root.txtName.removeTextField(); Внимание!

С помощью действия или метода removeTextField можно удалить только те текстовые блоки, которые созданы из сценариев. Текстовые блоки, созданные вручную, не могут быть удалены таким образом.

Использование объекта Selection

Flash также предоставляет возможность управления текстовым курсором и выделением текста в текстовых блоках. Для этого предназначен объект

selection, единственный экземпляр которого по имени selection создается самим Flash.

Метод get Focus этого объекта возвращает в строковом виде имя переменной, привязанной к текстовому блоку, имеющему в данный момент фокус ввода. Если к текстовому блоку не привязана переменная или если фокус ввода имеет кнопка или клип, то возвращается путь (также в строковом виде). Если ни один текстовый блок, ни одна кнопка и ни один клип не имеют фокуса, возвращается значение null.


⇐ вернуться назад | | далее ⇒