Свойство useHandCursor
задает, какую форму примет курсор мыши, если поместить его над кнопкой. Если задано значение true, то отображается курсор в виде "указующего перста" (как над гиперссылкой). Если же задано значение false, то курсор имеет вид обычной стрелки.Известно, что обычные кнопки в окнах Windows-приложений можно нажимать, не только щелкая по ним мышью, но и нажимая клавишу основной клавиатуры. Для этого кнопка должна иметь фокус ввода
, который даст ей возможность принимать нажатия клавиш клавиатуры. Кнопка, имеющая фокус ввода, выделяется точечным прямоугольником, окружающим ее надпись.Фокус ввода можно перемещать с одной кнопки на другую, согласно особой последовательности, называемой порядком обхода.
Каждая кнопка имеет свой уникальный номер в этом порядке. Для перехода на элемент управления с большим номером в порядке обхода нужно нажать клавишу <Таb>, для перехода на элемент управления с меньшим номером — комбинацию клавиш +.Для задания порядка обхода кнопок Flash служат два свойства объекта Button
. Рассмотрим их.Свойство tabindex
задает номер в порядке обхода для данной кнопки. Значением этого свойства может быть любое целое неотрицательное число.Задать порядок обхода можно с помощью приведенного ниже сценария, привязанного к первому кадру анимации фильма:
btnForward.tabindex = 0;
btnBackard.tabindex = 1;
btnStop.tabindex = 2;
Также для этого можно воспользоваться панелью Accessibility,
подробно описанной в главе 20.Если ни для одной кнопки в фильме Flash не задан номер в порядке обхода (т. е. значение свойства tabindex
равно undefined), Flash будет применять порядок обхода по умолчанию, и кнопки будут "обходиться" по нажатию клавиши <Таb> в том порядке, в котором они были созданы на рабочем листе. Также нужно иметь в виду, что значение undefined меньше любого числового, поэтому кнопки, для которых свойство tabindex не было задано, будут в порядке обхода первыми.Свойство tabEnabied
позволяет вообще убрать кнопку из порядка обхода, после чего ей нельзя будет дать фокус ввода с помощью клавиатуры (хотя нажимать ее щелчком мыши будет можно). Это свойство имеет логический тип: значение true или undefined предоставляет возможность дать кнопке фокус ввода с помощью клавиатуры, а значение false такую возможность отменяет.Обработка событий, возникающих в кнопках
Сценарий-обработчик события, возникающего в кнопке, как мы помним из главы 18,
имеет такой формат записи:on(<Событие>)
{<Тело обработчика>
}
Например:
on (press) {
_root.stop();
}
В данном примере обработчик выполняется в ответ на нажатие кнопки и останавливает анимацию основного фильма. Код этого обработчика должен быть привязан к самой кнопке.
Все события, поддерживаемые объектом Button
, перечислены в табл. 19.11.Создание и удаление кнопок из сценариев
Ранее в этой главе мы говорили, что имеется возможность создавать и удалять клипы из сценариев, пользуясь соответственно методами attachMovie
и removeMovieClip объекта movieclip и аналогичными действиями. Такая возможность реализована и для кнопок. Так, мы можем создать на рабочем листе новую кнопку в процессе воспроизведения фильма, привязав к кадру анимации такой сценарий:_root.attachMovie("button", "button2", 1);
А затем мы можем удалить эту кнопку:
_root.button2.removeMovieClip();
Работа с текстовыми блоками
Текстовые блоки, описанные в главе 7
, служат для отображения текста. Они бывают трех видов:□ статические текстовые блоки, служащие для отображения текста, который не изменяется в процессе воспроизведения фильма или работы Flash-приложения. Это могут быть надписи, заголовки, инструкции и пр.;
□ поля ввода, служащие для ввода текста пользователем;
□ динамические текстовые блоки, служащие для вывода текста, который изменяется в процессе воспроизведения фильма или работы Flash-приложения. Это может быть, например, текст, содержащий результаты работы приложения.
Flash поддерживает полноценную работу только с полями ввода и динамическими текстовыми блоками (как мы знаем из главы 7,
они называются специальными текстовыми блоками). Именно средства для работы с ними мы сейчас рассмотрим. Средства для доступа к содержимому статических текстовых блоков весьма ограничены; все они описаны в интерактивной справке Flash.Объект TextField и его свойства и методы