'activate()'에 해당되는 글 1건

  1. 2008.11.16 NativeWindow Open/Close


NativeWindow는 delegator에서 visible속성이나 activate()를 하면 창이 활성화 된다. 창을 닫기 위해서는 close() 메서드를 사용하는데 한번 close된 창은 두번 다시 재 활용할 수 없게 된다. 따라서 창을 다시 열 수 있도록 하기 위해서는 visible을 컨트롤 해야 한다. 또한 사용자가 크롬 창의 닫기버튼을 사용하여 close할 경우를 대비하여 해당 윈도우를 닫을때 NativeWindow의 delegator에 CLOSING이벤트를 두어 visible속성을 false로 한다.
이경우 preventDefault()를 사용한다.

private var options:NativeWindowInitOptions;
private var window:NativeWindow;
private function init():void
{
    options = new NativeWindowInitOptions();
    options.type = NativeWindowType.NORMAL;
    window = new NativeWindow( options );
    
    addEventListener( MouseEvent.CLICK , onOpen );
    window.addEventListener( Event.CLOSING , onClose );
    
    window.width = window.height = 200;
    window.activate();
}
   
private function onOpen( e:MouseEvent ):void
{
      window.visible = true;
}
   
private function onClose( e:Event ):void
{
    window.visible = false;
    e.preventDefault();
}

위의 코드는 자식창을 크롬에서 닫기하였을 때 visible로 컨트롤하고 메인창을 클릭하면 visible = true로 하여 창을 다시 활성화 하도록 처리하였다.

참고) visible을 컨트롤 하여도 작업표시줄에 비활성화 된다.

Posted by 버터백통