|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
AIR. Как получить ссылку на обьект NativeWindow главного окна
Здравствуйте. Мне нужно обратится из окна, например 3-й ступени вложенности, к самому главному родительскому окну приложения.
Пришла мысль использовать свойства owner.owner.owner... до тех пор пока owner не будет null (значит это главное окно). Но это уж слишком коряво. Подскажите другой способ.
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
Ну создайте ссылку например в классе документа
Вариантов масса
__________________
Убейте меня! |
|
|||||
Не знаю, сам учусь. Попробуйте посмотреть что выдаёт listOwnedWindows
__________________
Убейте меня! |
|
|||||
Это не пойдет! listOwnedWindows содержит дочерние окна. Придется использовать предложенную Вами структуру
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Щас копаться лень, ну если найти первичный stage , у него есть свойство nativeWindow. во флексе можно так :
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Регистрация: Mar 2011
Сообщений: 58
|
Собственно в тему.
Только изучаю AIR, столкнулся с одним не понятным мне моментом. Не могу понять в чем причина. Я хочу сделать главное окно владельцем для всех остальных окон. Ну то есть чтобы если минимизировалось главное окно, то с ним минимизировались и все остальные. Но. Если я делаю это не для главного окна, типа так package { import flash.desktop.NativeApplication; import flash.display.NativeWindow; import flash.display.NativeWindowInitOptions; import flash.display.NativeWindowRenderMode; import flash.display.NativeWindowSystemChrome; import flash.display.NativeWindowType; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; /** * Работа с окнами в AIR * @author redefy */ public class Main extends Sprite { public function Main():void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.color = 0x0; var mainWindowsOption:NativeWindowInitOptions = new NativeWindowInitOptions(); //mainWindowsOption.owner = this.stage.nativeWindow; var mainWindow:NativeWindow = new NativeWindow(mainWindowsOption); mainWindow.stage.color = 0x1b1b1b; mainWindow.width = 400; mainWindow.height = 300; mainWindow.stage.scaleMode = StageScaleMode.NO_SCALE; mainWindow.stage.align = StageAlign.TOP_LEFT; mainWindow.activate(); var windowsOption:NativeWindowInitOptions = new NativeWindowInitOptions(); windowsOption.owner = mainWindow; windowsOption.type = NativeWindowType.UTILITY; var window:NativeWindow = new NativeWindow(windowsOption); window.stage.color = 0xcccccc; window.width = 200; window.height = 200; window.activate(); trace(NativeApplication.nativeApplication.openedWindows); } } } Но если раскомментить строчку , то есть сделать главное окно владельцем первого, то окна, кроме главного, вообще не показываются. Хотя как и положенно возвращает ссылки на 3 окна. Не могу понять где я затупил. Добавлено через 17 часов 32 минуты Неужели в Russian Federation никто не работает с AIR ? Блин, такое ощущение что первопроходец я какой-то. Низачто не поверю что никто не сталкивался с этим моментом. Ладно я еще зеленый, но старожилы то форума неужели не облазили AIR вдоль и поперек? Добавлено через 20 часов 58 минут Проблема решена. Всем спасибо за "помощь"... |
Часовой пояс GMT +4, время: 00:21. |
|
« Предыдущая тема | Следующая тема » |
|
|