![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 1,058
|
Всем привет. Ваяю hot keys. Собственно уже все красиво сделал, осталось узнать сабж. Непонятно почему нельзя подписаться на Application (можно но диспатчит только когда на нем стоит фокус). Stage тоже нехочет. Подписался пока к канве, но и в этом случае ловит не всегда.
|
|
|||||
|
Регистрация: Jul 2008
Сообщений: 43
|
насколько я помню документацию клавиатурные события отправляют не все компоненты. И если на таком компаненте фокус до просто не будет этого события=( Хотя сам только мельком зацепил эту проблему. Кто-нибудь опровергните мое мнение...
|
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
†‡Paladin‡†, 5 лет прошло, как решил проблему?
)На самом деле столкнулся с аналогичной задачей: тоже делаю HotKeys, которые деляться на 2 типа: 1. "локальные", для своего собственного компонента (расширил его интерфейсом mx.managers.IFocusManagerComponent) и все отрабатывает замечательно; 2. "глобальные" - тут мне нужна обработка клавиши ESCAPE - мой компонент - редактор карт для игры, и хотелось сделать бы так, что бы при нажатии ESCAPE снималось выделение с игровых объектов. Когда фокус находится на моем компоненте КАРТА - все работе хорошо, но если фокус находиться на ButtonBar'е или на заголовке Accordion'на - то событие до моего слушателя (которого я вешал и на stage, и на this (главный класс, Application)) не доходит. Видимо эти кнопки "душат" событие, и наверх уже ничего не доходит ![]() Можно, конечно, подписать "нехорошие фокусные объекты" на обработку KeyboardEvent.KEY_DOWN, но хотелось бы найти решение на "глобальном уровне", а не лепить костыли к каждому элементу управления |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|