Selection.setFocus("_root.txtName");
Selection.setFocus("_root.btnOK");
Чтобы снять фокус ввода со всех элементов управления, достаточно передать методу setFocus в качестве параметра значение null .
С помощью объекта selection мы можем получить позицию текстового курсора в поле ввода. Для этого достаточно вызвать не принимающий параметров метод get Caret index , который вернет нам номер символа, на котором стоит курсор. (Не стоит забывать, что нумерация символов начинается с нуля.) Если же ни одно поле ввода не имеет фокуса, возвращается значение — 1.
Методы getBeginindex и getEndindex возвращают номера соответственно начального и конечного символа выделенного в текстовом блоке фрагмента текста. Если ничего не выделено, также возвращается значение — 1.
Можно выделить нужный фрагмент текста, воспользовавшись методом setSelection . Первый параметр этого метода должен иметь значение, равное номеру первого символа выделяемого фрагмента, а второй параметр — значение, равное номеру последнего символа. Вот так:
Selection.setSelection(10, 30);
Чтобы просто поставить текстовый курсор в требуемую позицию, нужно передать методу setSelection номер нужного символа и в первом, и во втором параметре:
Selection.setSelection(10, 10);
Объект selection поддерживает одно-единственное событие onSetFocus , возникающее при перемещении фокуса ввода. Обработка этого события возможна только с помощью перехватчика. Например:
myListener = new Object ();
myListener.onSetFocus = fOnSetFocus;
Selection.addListener(myListener);
Это пример создания и привязки перехватчика к объекту selection. Функция fOnsetFocus выполняет собственно обработку события onset Focus; определение этой функции было опущено.
Обработка нажатий клавиш клавиатуры
Для обработки нажатия клавиш клавиатуры служит объект Key . Его единственный экземпляр, также носящий имя Key , создается самим Flash.
Свойства и методы объекта Key
Два важнейших метода, которые обязательно понадобятся нам для обработки нажатий клавиш, — это методы getAscii и getcode . Первый метод возвращает код символа ASCII, который присвоен нажатой клавише. Второй метод возвращает так называемый виртуальный код нажатой клавиши — низкоуровневый код, позволяющий узнать, какая клавиша на клавиатуре была нажата. Оба эти метода не принимают параметров.
Вот пример выражений вызова этих методов:
codel = Key.getAscii(); code2 = Key.getCode();
Код символа ASCII зависит от текущей кодировки. Коды символов кодировки Windows 1251 приведены в интерактивной справке Flash; там же приведены и виртуальные коды клавиш.
Еще один полезный метод объекта Key — метод isDown . Он принимает единственный параметр — виртуальный код клавиши — и возвращает значение true, если эта клавиша нажата. Например:
if (Key.isDown(Key.ENTER)) {. }
Приведенное выше выражение проверяет, была ли нажата клавиша .
Метод isToggied возвращает значение true, если в момент его вызова была включена одна из клавиш-переключателей: или . Он принимает единственный параметр — числовое значение 20 (виртуальный код клавиши ) или 144 (виртуальный код клавиши ).
Пример вызова метода isToggied :
if (Key.isToggied(20)) { s = s.toLowerCase; }
Кроме вышеописанных методов, объект Key поддерживает ряд свойств, доступных только для чтения и возвращающих значения виртуальных кодов различных служебных клавиш клавиатуры. Все эти свойства приведены в табл. 19.14.
Обработка нажатий клавиш в клипах
А теперь поговорим о том, как же собственно выполняется обработка нажатий клавиш клавиатуры. Выполнить ее можно двумя способами, которые мы и рассмотрим в этом разделе.
Обработка нажатий клавиш в клипах
Первый — более простой — способ обработки нажатий клавиш — заключается в привязке к клипу, который будет реагировать на нажатия, обработчика события keyDown , возникающего при нажатии клавиши. Мы рассмотрим создание этого обработчика на примере.
Создадим новый документ Flash. В нем создадим образец-клип, содержащий простую геометрическую фигуру, например, круг. Поместим экземпляр этого образца на рабочий лист и назовем его circle . Этот экземпляр мы заставим перемещаться по листу в ответ на нажатия клавиш — стрелок.
Читать дальше
Конец ознакомительного отрывка
Купить книгу