2011-10-06 2 views
1

두 개의 창이있는 Adobe Air 앱 (AS3, Flex 제외)이 있습니다. 다른 데스크톱 프로그램으로 클릭하면 "예상치 못한"이벤트가 발생합니다.에어 네이티브 창 활성 창 변경

내가 윈도우 # 1을 말하면 "활성화"이벤트가 나타납니다 (기대했던대로).

하지만 창 # 1에서 창 # 2로 갈 때 나는 아무것도 얻지 못합니다. 그리고 이것은 Air 응용 프로그램이 여전히 활성 프로그램 인 Just another Window이기 때문에 이것이라고 생각합니다.

그러나 나는 창문에서 다른 창으로 갈 때를 알아야 할 필요가 있습니다.

내가 지금까지 생각해 본 끔찍한 해결책은 onEnterFrame을 가지고 현재 창이 활성 창이 있는지 확인하는 것입니다. 그러나 나는 그러한 해킹보다 훨씬 더 나은 방법을 선호한다.

나는 Stage, NativeApplicationNative Window 이벤트를 보냈지 만 그 중 누구도 내가 원하는 것을하지 않습니다. 누군가 내가 간과 한 다른 사건을 가르쳐 줄 수 있습니까?

+0

나는 수신 거부가 작동해야한다고 생각합니다. 당신이 올바른 디스패처를 듣지 않았습니까? 다른 응용 프로그램으로 전환 한 다음 Window 2로 돌아 가면 Window 1에서 activate 이벤트가 발생합니까? –

+0

예, 창 # 1에서 다른 응용 프로그램으로 이동하면 창 # 1 (또는 창 # 2)에서 활성화됩니다. 그러나 Window # 1에서 Window # 2 또는 Window # 2에서 Window # 1로 이동하면 (예 : Air Application을 절대 떠나지 않음) No Event가 트리거됩니다. – WORMSS

+1

NativeWindow 객체에서 이벤트를 수신하고 있습니까? 올바르게 호출하면 윈도우는 자체 활성화/비활성화 이벤트를 보내야합니다.이 이벤트는 응용 프로그램 활성화/비활성화 이벤트와 별도입니다. –

답변

1

NativeWindow 객체에서 직접 윈도우 활성화 이벤트를 수신합니다. 모든 표시 객체는 활성화/비활성화 이벤트를 전달하지만 응용 프로그램 또는 브라우저의 SWF 객체가 OS 포커스를 가져 오거나 잃는 경우 트리거됩니다.