Просмотр полной версии : Имитация нажатий клавиш на клавиатуре
Всем драсьте!
Подскажите, плиз, как ввести текст в компонент TextField не используя клавиатуру, а лишь отправляя события Event (textEvent или keyboradEvent) ???
методы типа meTextField.text=myText не подходят. Нужно именно черещз имитацию нажатий клавиатуры...
Gal4enochek
17.08.2009, 12:13
Так подойдет?
//field - ваше текстовое поле
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
function keyDownHandler(event :KeyboardEvent):void{
var symbol :String = String.fromCharCode(event.charCode);
field.appendText(symbol);
}
Вот надо сделать как Галченок написал,
а потом стейджем диспатчить нужные события.
Добавлено через 35 секунд
stage.dispatchEvent( new KeyboardEvent(параметры) );
Так подойдет?
//field - ваше текстовое поле
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
function keyDownHandler(event :KeyboardEvent):void{
var symbol :String = String.fromCharCode(event.charCode);
field.appendText(symbol);
}
Gal4enochek, к сожалению, этот метод не подходит, так как appendText не учитывает, где именно находится курсор в области ввода, если field имеет тип TextFieldType.INPUT
В вашем примере символ добавится в конце строки field.text.
Если делать так, как вы предложили, нужно будет все время учитывать позицию курсора, т.е написать все то, что уже есть в самом компоненте textField.
Если же имитировать нажатие кнопки на клавиатуре и посылать событие с кодом нажатой кнопки, то компонента сама сделает эту работу.
Проблема только в том, как послать событие в field, чтобы она думала, что я нажал кнопку на клаве...
скорее всего можно как-то
в сях, делфи возможно...
в AS3 тем более должно быть...
помогайте!!! :)
Добавлено через 17 часов 48 минут
Людииииииииии!!!!!!!!!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.