2012-10-29 17 views
2

有誰知道我們是否可以得到所有打開的nativeWindows的訂單?Flex Air - 獲取windows的深度訂單(z-index)

我想比較兩個nativeWindows,並找到上面的哪個窗口。

謝謝!

編輯: NativeApplication.nativeApplication.openedWindows 返回一個所有打開的nativeWindows的數組。

但是窗戶按照它們被打開的順序。不在深度順序中...例如,如果我們點擊一​​個窗口,它將佔據第一位,但它在這個數組中的位置不會改變。

是否有另一個窗口將按此順序排列的數組?或者另一種方式噸找到它?

非常感謝。

+0

我認爲你必須創建你自己的Z-Order Manager;也許使用您自己的自定義本機窗口和/或本機窗口打開程序,以便您可以跟蹤何時給予窗口焦點。 – JeffryHouser

回答

0

據我所知,沒有原生的做法。如果需要根據某些條件確保正確的窗口位於堆棧的頂部/底部,則可以使用orderToFrontorderToback方法(請參閱documentation)。

如果您的要求更爲複雜,您可以考慮實施自己的系統來跟蹤深度(在調用任何訂單方法或激發事件時重新排列您的數組)。

+0

感謝您的答案。是的,我還沒有找到其他的東西。我使用一個靜態數組的類和3個方法(getOrder,setOrder,removeOrder)來管理這個訂單。我把偵聽器放在了我的windows自定義類的Focus和Close事件中。 – user1782822