Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.11.2011, 17:01
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 1  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
По умолчанию AIR. Как получить ссылку на обьект NativeWindow главного окна

Здравствуйте. Мне нужно обратится из окна, например 3-й ступени вложенности, к самому главному родительскому окну приложения.
Пришла мысль использовать свойства owner.owner.owner... до тех пор пока owner не будет null (значит это главное окно). Но это уж слишком коряво. Подскажите другой способ.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 18.11.2011, 17:10
джонатан вне форума Посмотреть профиль Отправить личное сообщение для джонатан Найти все сообщения от джонатан
  № 2  
Ответить с цитированием
джонатан
 
Аватар для джонатан

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
Ну создайте ссылку например в классе документа

Код AS3:
private static var MainWindow:NativeWindow = stage.nativeWindow;
Вариантов масса
__________________
Убейте меня!

Старый 18.11.2011, 17:13
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 3  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Спасибо, это вариант! Но нет ли готовых решений? А то сколько не ищу по справке, не могу найти...
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 18.11.2011, 17:21
джонатан вне форума Посмотреть профиль Отправить личное сообщение для джонатан Найти все сообщения от джонатан
  № 4  
Ответить с цитированием
джонатан
 
Аватар для джонатан

Регистрация: Jan 2007
Адрес: Минск
Сообщений: 781
Отправить сообщение для джонатан с помощью Skype™
Не знаю, сам учусь. Попробуйте посмотреть что выдаёт listOwnedWindows
__________________
Убейте меня!

Старый 18.11.2011, 17:30
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 5  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Это не пойдет! listOwnedWindows содержит дочерние окна. Придется использовать предложенную Вами структуру
Код AS3:
public static var MainWindow:NativeWindow;
............................................................
Main.MainWindow = this.stage.nativeWindow;
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 18.11.2011, 17:31
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 6  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
может
Код AS3:
NativeApplication.nativeApplication.activeWindow
?
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 18.11.2011, 17:33
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 7  
Ответить с цитированием
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Ну не знаю. В NativeApplication активным окном может быть одно из нескольких дочерних.
__________________
Я мало чего умею, но зато хорошо умею учиться...

Старый 18.11.2011, 17:54
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 8  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Щас копаться лень, ну если найти первичный stage , у него есть свойство nativeWindow. во флексе можно так :
Код AS3:
	FlexGlobals.topLevelApplication.stage.nativeWindow
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 07.02.2012, 03:19
redefy вне форума Посмотреть профиль Отправить личное сообщение для redefy Посетить домашнюю страницу redefy Найти все сообщения от redefy
  № 9  
Ответить с цитированием
redefy
 
Аватар для redefy

Регистрация: Mar 2011
Сообщений: 58
Собственно в тему.
Только изучаю AIR, столкнулся с одним не понятным мне моментом. Не могу понять в чем причина.

Я хочу сделать главное окно владельцем для всех остальных окон. Ну то есть чтобы если минимизировалось главное окно, то с ним минимизировались и все остальные.

Но. Если я делаю это не для главного окна, типа так
Код AS3:
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);
		}
	}
}
То все ок. Если свернуть первое окно, то второе сворачивается так же. То есть как и должно быть.

Но если раскомментить строчку
Код AS3:
mainWindowsOption.owner = this.stage.nativeWindow;
, то есть сделать главное окно владельцем первого, то окна, кроме главного, вообще не показываются.

Хотя
Код AS3:
trace(NativeApplication.nativeApplication.openedWindows);
как и положенно возвращает ссылки на 3 окна.

Не могу понять где я затупил.

Добавлено через 17 часов 32 минуты
Неужели в Russian Federation никто не работает с AIR ?

Блин, такое ощущение что первопроходец я какой-то. Низачто не поверю что никто не сталкивался с этим моментом. Ладно я еще зеленый, но старожилы то форума неужели не облазили AIR вдоль и поперек?

Добавлено через 20 часов 58 минут
Проблема решена.
Всем спасибо за "помощь"...

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.