![]() |
Виртуальная клавиатура и фокус текстового поля
Делаю виртуальную клавиатуру, несколько текстовых полей, когда какое нибудь текстовое поле получает фокус появляется клавиатура, но при нажатии на кнопку виртуальной клавиатуры фокус из текстового поля соответственно пропадает...Гуру подскажите как сделать чтобы фокус не пропадал из текстового поля?
|
В обработчике нажатия кнопки перемещать focus обратно на текстовое поле
|
храните ссылку на активный техтфилд, когда он активен, рисуйте вокруг него допустим рамку, зачем вам чтобы он был в фокусе?
а в классе текстфилда создайте функцию setText() и передвавайте туда введеные с виртуальной клавиатуры буквы. |
Сенк!
Приложение для интерактивной доски, фокус (мигающий курсор) нужен для наглядности Добавлено через 1 час 7 минут Isfet а можно поподробней про setText(), идею не уловил в силу малоопытности) |
ваши текстовые поля будут иметь класс MyTextField допустим , наследуемый от TextField, в нем напишите метод
Код AS3:
Код AS3:
|
А разве нельзя просто
Код AS3:
|
Isfet я думаю лучше было бы отказаться от контейнера, и сразу написать класс расширяющий TextField, в котором будет рисоваться желтая рамка вокруг текста.
А вообще, сама идея правильная. Поддерживаю. Фокус нужен, если вводить с физической клавиатуры, и то не обязательно. Ведь можно просто перехватывать нажатия клавишь, и вводить их в заранее указанное текстовое поле |
Понятно...
Но у меня задачка немного специфическая...как я говорил приложение для интерактивной доски, в определенный момент выводится окошко с настройками сетевой карты специфицеской операционки...вот мне и нужно имитировать поведение этого окошка (в частности фокуса) как в самой операционке... но это все лирика, спасибо за помощь! |
Данный способ позволит реализовать такой функционал без проблем. Главное реализовать переключение между текстфилдами
|
Дабы новую тему не создавать спрошу здесь.
Не могу разобраться с dispatchEvent, но нажатию на виртуальную кнопку нужно в TextField вписать соответствующий символ. Делаю так: Код AS3:
|
я как понял, виртуальная клавиатура - это клавиатура которая появляется во флешке, и при нажатии на нее... МЫШКОЙ... происходит записывание символа, который храниться в кнопке в активное текстовое поле.
Возникает вопрос: причем здесь KeyboardEvent? Вам нужно слушать только мышку. |
Во первых Вы подписываетесь на функцию yyyy, а на самом деле функция у Вас называется yyy. И во вторых, Вы диспатчите событие вникуда (в данном случае), а нужно (по Вашей логике):
Код AS3:
|
Isfet мне нужно чтобы TextField думал, что как будто клавишу на клавиатуре нажали.
Inet_PC, да, ошибся с yyy, но это здесь названия функций исправлял для простоты, во флеше все нормально, т.е. получается я не могу переслать событие всем объектам на сцене, а только конкретному? Подправил по вашей рекомендации: Код AS3:
|
Цитата:
|
Печально...толку тогда от этого диспатчера в этом конкретном случае, событие создается, передается, реакции ноль...
Попробовал сейчас так: Код AS3:
Цитата:
Интересно все же по какому событию в TextField символ рисуется. Может офицеры знают?) |
Цитата:
Код AS3:
|
caseyryan не отрабатывает ни maxChars, ни restrict которые у меня заданы.
Цитата:
Все это чертова привычка (с других языков) писать красивый грамотный код и не создавать лишнего. |
Цитата:
|
| Часовой пояс GMT +4, время: 09:55. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.