Как сохранить фокусировку после нажатия «alt» (приложение Adobe AIR) - PullRequest
8 голосов
/ 18 января 2011

Я делал заявку с помощью AIR + Flex.

Одна особенность похожа на:

  • Когда клавиша Alt нажата, курсор мыши меняется на B,
  • Когда клавиша Alt нажата, курсор мыши восстанавливается до A.

Но проблема в том, что каждый раз при отпускании клавиши Alt курсор мыши возвращается к системному значению по умолчанию (форма стрелки), и кажется, что фокус находится где-то вне этап.

Это напоминает мне, что при нажатии Alt в обычном окне строка меню будет сфокусирована.

Как я могу остановить это поведение по умолчанию?

p.s. Я пробовал следующие способы и не работает:

  • 1) прослушать событие KEY_DOWN / KEY_UP сцены и добавить event.stopImmediatePropagation() в обработчики событий
  • 2) прослушать событие KEY_DOWN / KEY_UP сцены и добавить event.preventDefault() в обработчики событий
  • 3) прослушать событие stage KEY_DOWN / KEY_UP и добавить this.setFocus() в обработчики событий. И callLater(this.setFocus) тоже не работает.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2014

Слушайте, чтобы деактивировать событие, а затем активируйте

0 голосов
/ 08 февраля 2012

На выиграть невозможно.Но вы можете написать скрипт shell / bash для активации вашего приложения и запустить его из AIR.См. Класс NativeProcess.

...