Свойство tabEnabied позволяет вообще убрать кнопку из порядка обхода, после чего ей нельзя будет дать фокус ввода с помощью клавиатуры (хотя нажимать ее щелчком мыши будет можно). Это свойство имеет логический тип: значение true или undefined предоставляет возможность дать кнопке фокус ввода с помощью клавиатуры, а значение false такую возможность отменяет.
Обработка событий, возникающих в кнопках
Сценарий-обработчик события, возникающего в кнопке, как мы помним из главы 18, имеет такой формат записи:
on(<Событие>) {
<Тело обработчика>
}
Например:
on(press) {
_root.stop();
}
В данном примере обработчик выполняется в ответ на нажатие кнопки и останавливает анимацию основного фильма. Код этого обработчика должен быть привязан к самой кнопке.
Все события, поддерживаемые объектом Button, перечислены в табл. 19.11.
Таблица 19.11. События, поддбрживабмыб объ&ктомButton
Событие |
Описание |
press |
Возникает при щелчке на кнопке |
release |
Возникает при отпускании кнопки после повторного щелчка |
releaseOutside |
Возникает при отпускании кнопки, когда курсор мыши находится вне кнопки (подразумевается, что в момент, когда кнопка была нажата, курсор мыши находился над ней) |
rollout |
Возникает при уводе курсора мыши с кнопки |
rollOver |
Возникает при помещении курсора мыши на кнопку |
dragOut |
Возникает при уводе курсора мыши с кнопки, если левая кнопка мыши нажата |
dragOver |
Возникает при помещении курсора мыши на кнопку, если левая кнопка мыши нажата |
keyPress("<Код>" ) |
Возникает при нажатии клавиши с заданным в качестве параметра кодом. При этом кнопка должна иметь фокус ввода |
Создание и удаление кнопок из сценариев
Ранее в этой главе мы говорили, что имеется возможность создавать и удалять клипы из сценариев, пользуясь соответственно методами attachMovie и removeMovieciip объекта movieciip и аналогичными действиями. Такая возможность реализована и для кнопок. Так, мы можем создать на рабочем листе новую кнопку в процессе воспроизведения фильма, привязав к кадру анимации такой сценарий:
_root.attachMovie("button", "button2", 1); А затем мы можем удалить эту кнопку:
_root.button2.removeMovieClip();
Работа с текстовыми блоками
Текстовые блоки, описанные в главе 7, служат для отображения текста. Они бывают трех видов:
□ статические текстовые блоки, служащие для отображения текста, который не изменяется в процессе воспроизведения фильма или работы Flash-приложения. Это могут быть надписи, заголовки, инструкции и пр.;
□ поля ввода, служащие для ввода текста пользователем;
□ динамические текстовые блоки, служащие для вывода текста, который изменяется в процессе воспроизведения фильма или работы Flash-приложения. Это может быть, например, текст, содержащий результаты работы приложения.
Flash поддерживает полноценную работу только с полями ввода и динамическими текстовыми блоками (как мы знаем из главы 7, они называются специальными текстовыми блоками). Именно средства для работы с ними мы сейчас рассмотрим. Средства для доступа к содержимому статических текстовых блоков весьма ограничены; все они описаны в интерактивной справке Flash.