2011-01-18 17 views
8

Zrobiłem aplikację w środowisku AIR + Flex.Jak zachować skupienie po naciśnięciu "alt"? (Aplikacja Adobe AIR)

jedna cecha jest jak:

  • Kiedy Alt klucz jest w dół, zmiany kursora myszy do B,
  • Kiedy Alt klucz jest gotowy, kursor myszy przywraca A.

Ale problemem jest to, że za każdym razem wydanie Alt, kursor myszy zmieni się z powrotem na domyślny system (kształt strzałki) i wydaje się, że fokus znajduje się gdzieś poza sceną.

To mi przypomina, że ​​kiedy Alt został naciśnięty w zwykłym oknie, menu-bar będzie skupiona.

Jak mogę zatrzymać to domyślne zachowanie?

p.s. Próbowałem następujące sposoby i pracę doesn `:

  • 1) wysłuchać KEY_DOWN/KEY_UP imprezy etapie, a następnie dodaj event.stopImmediatePropagation() w obsługi zdarzeń
  • 2) słuchać KEY_DOWN/KEY_UP przypadku etap, w i dodać event.preventDefault() w obsługi zdarzeń
  • 3) słuchają KEY_DOWN/KEY_UP imprezy etapie, a następnie dodaj this.setFocus() w procedurach obsługi zdarzeń. I callLater(this.setFocus) też nie działa.
+3

Hi Vergil, zrobiłem kilka testów się i zakończył w zasadzie w tym samym miejscu, w którym opisany powyżej, moi obsługi zdarzeń są wypalane ale zatrzymanie rozprzestrzeniania zdarzenia lub próby zapobiec domyślnemu zachowaniu daje takie same wyniki. Patrząc na Dokumenty, wygląda na to, że AltKey jest obsługiwany tylko w systemie Windows dla zdarzeń, które sprawdzałem, więc może to być problem, gdy przychodzi czas na testowanie na różnych platformach, dlatego sugeruję użycie innego klucza modyfikującego lub innego naciśnięcie klawisza. – shaunhusain

+1

Po prostu natknąłem się na to w dokumentacji, która może prowadzić do odpowiedzi, ale nie widziałem żadnych menu, które opisują ten pokazany po naciśnięciu klawisza alt: http://livedocs.adobe.com/flex/3/html /help.html?content=Menus_2.html – shaunhusain

+1

Może to również prowadzić do bliższej odpowiedzi na problem przedstawiony na stronie: http://www.adobe.com/devnet/air/flex/quickstart/articles/custom_chrome.html, chociaż omawia tworzenie okien Chromeless, zawiera również informacje o blokowaniu domyślnych zachowań w NativeWindows. – shaunhusain

Odpowiedz

0

O wygranej niemożliwe. Ale U może napisać skrypt powłoki/basha, aby aktywować twoją aplikację i uruchomić ją ze środowiska AIR. Zobacz klasę NativeProcess.

0

Słuchaj wyłączyć zdarzenie I wtedy aktywują