it leader
article thumbnail





air_as3_nativeWindow




desktop application 개발을 할 때 window



에 관련된 명령어에 대해 정리한다.


nativeWindow는  데스크톱 운영체제만을 지원하며, 휴대기기 또는 TV 장치는 지원하지 않는다.


nativewindow  속성을 사용하려면 NativeWindow 클래스를 import 해야된다.
또한 NativeWindowInitOptions 를 최초 지정을 해주어야한다.




윈도우 닫기
nativeWindow.close();

윈도우 최대화
nativeWindow.maximize();

윈도우 최소화
nativeWindow.minimize();

윈도우 원래대로
nativeWindow.restore();










소스코드

import flash.display.NativeWindow;
import flash.display.NativeWindowInitOptions;
import flash.display.NativeWindowSystemChrome;
import flash.events.NativeWindowBoundsEvent
import flash.display.NativeWindowType;
import flash.display.NativeWindowDisplayState;


// 윈도우 옵션 정보를 생성한다.
var winOptions : NativeWindowInitOptions = new NativeWindowInitOptions();

// 윈도우 시스템 스타일은 스탠다드
winOptions.systemChrome = NativeWindowSystemChrome.STANDARD;

// 윈도우 타입은 노말
winOptions.type = NativeWindowType.NORMAL;

window = new NativeWindow(winOptions);

// 윈도우의 크기를 조절하지 못하도록 고정한다.
window.stage.scaleMode = StageScaleMode.NO_SCALE;

// 윈도우 안에 위치한 stage를 좌상단으로 정렬한다.
window.stage.align = StageAlign.TOP_LEFT;

// 윈도우의 위치와 크기값 설정
window.bounds = new Rectangle(150, 300, 1366,767);

// 윈도우를 새로 띄운다.
window.activate();

// 윈도우 상단에 들어갈 문구 
window.title = "My Native Application Window!";


// 윈도우를 생성하지 않고 현재 윈도우에 접근하려면

nativeWindow = displayObject.stage.nativeWindow;

또는

nativeWindow = documentClass.window;



// 윈도우가 닫히는 이벤트 발생 리스너 등록
nativeWindow.addEventListener(Event.CLOSE, onWindowClose);

// 윈도우 크기 조절 방지 이벤트 리스터
nativeWindow.addEventListener(NativeWindowBoundsEvent.RESIZING, preventResize);

// 윈도우의 상태 변경 이벤트 리스터
nativeWindow.addEventListener(NaitveWindowDisplayStateEvent.DISPLAY_STATE_CHANGE, onDisplayChange);

private function onWindowClose( e: Event) : void
{
     var exitEvent : Event = new Event( Event.EXITING, false, true);
     NativeApplication.nativeApplication.dispatchEvent(exitingEvent);

     if(!exitingEvent.isEdfaulPrevented()){
     
     NativeApplication.nativeApplication.exit();

      }   
}
     
private function preventResize( boundsEvent : NativeWindowBoundsEvent) : void
{
     if( boundsEvent.type == NativeWindowBoundsEvent.RESIZEING){
          boundsEvent.preventDefault();
     }
}


private function onDisplayChange( e: NativeWindowDisplayStateEvent) : void
{
     if( e.afterDisplayState == NativeWindowDisplayState.MAXIMIZED){
          trace("maximize action!");


     }else if( e.afterDisplayState == NativeWindowDisplayState.NORMAL){
          trace("normalize action!");
     }
}









profile

it leader

@dev__pixui

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!