Показать сообщение отдельно
Старый 24.03.2011, 10:10
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 6  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Все дело в том, что вы на событие MOUSE_DOWN подписались у stage:
Код:
//Переместить
function Move(event:MouseEvent):void 
        { 
            this.stage.nativeWindow.startMove(); 
        } 
 
stage.addEventListener(MouseEvent.MOUSE_DOWN, Move);
Потому у вас глючит, когда вы на то же событие подписываете кнопку ресайза:
Код:
//Размеры
function rsz(event:MouseEvent):void 
        { 
            stage.nativeWindow.startResize(NativeWindowResize.BOTTOM_RIGHT);
        } 
 
resizeBRButton.addEventListener(MouseEvent.MOUSE_DOWN, rsz);
По-хорошему, нужно сделать отдельный спрайт, который будет выполнять роль заголовка вашего окна (Title Bar), и таскать окно, взявшись за него, а не за любую точку в окне, чего вы добились с помощью
Код:
stage.addEventListener(MouseEvent.MOUSE_DOWN, Move);
. Подозреваю, что титлбар у вас даже есть в наличии.
Ну, например так:
Код:
package 
{
	import flash.desktop.NativeApplication;
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	[SWF(width="800", height="600")]
	public class Main extends Sprite 
	{
		public function Main():void 
		{
			// рисуем титлбар помещаем его в верхнюю часть окна
			var titleBar:Sprite = new Sprite();
			titleBar.graphics.beginFill(0xcdcdcd);
			titleBar.graphics.drawRect(0, 0, stage.stageWidth, 30);
			titleBar.graphics.endFill();
			addChild(titleBar);
			titleBar.addEventListener(MouseEvent.MOUSE_DOWN, move);
			// рисуем и располагаем кнопки управления окном
			var btn:Sprite = getNCButton();
			btn.x = 600; btn.y = 10; 
			addChild(btn);
			btn.addEventListener(MouseEvent.CLICK, close);// закрыть
			
			btn = getNCButton();
			btn.x = 650; btn.y = 10; 
			addChild(btn);
			btn.addEventListener(MouseEvent.CLICK, min);// свернуть
			
			btn = getNCButton();
			btn.x = 700; btn.y = 10; 
			addChild(btn);
			btn.addEventListener(MouseEvent.CLICK, max);// развернуть
			
			btn = getNCButton();
			btn.x = 780; btn.y = 580; 
			addChild(btn);
			btn.addEventListener(MouseEvent.MOUSE_DOWN, resize);// изменить размер
		}
		private function getNCButton():Sprite
		{
			var spr:Sprite = new Sprite()
			var gr:Graphics = spr.graphics;
			gr.beginFill(0x00f000);
			gr.drawRect(0, 0, 40, 20);
			gr.endFill();
			return spr;
		}
		private function close(e:MouseEvent):void 
		{
			NativeApplication.nativeApplication.exit();
		}
		private function min(e:MouseEvent):void 
		{
			this.stage.nativeWindow.minimize(); 
		}
		private function max(e:MouseEvent):void 
		{
			this.stage.nativeWindow.maximize(); 
		}
		private function resize(e:MouseEvent):void 
		{
			this.stage.nativeWindow.startResize();
		}
		private function move(e:MouseEvent):void 
        { 
            this.stage.nativeWindow.startMove(); 
        } 
	}
	
}