'Drag작업 순서'에 해당되는 글 1건

  1. 2008.12.27 DragManager 활용

드래그 매니저를 활용하면 드래그와 드랍 또는 드랍허용 등을 관리 할 수 있다. 보통 AIR 어플리케이션 내부에서 클릭 드래그 할 때에 해당 객체나 작업 데이터를 클립보드에 저장하여 드랍시 활용하도록 하기 위해서는 NativeDragManager.doDrag( InteractiveObject, Clipboard , 비트맵데이터... )을 사용한다.
또한 시스템이나 AIR내부의 객체를 AIR내부의 드랍 가능영역을 지정하여 드랍 허용을 하기 위해서는 NativeDragManager.acceptDragDrop( 드랍대상:InteractiveObject )을 사용한다.

보통 드래그 작업을 시작하려면 아래의 순서와 같다.
[ 드래그 작업 순서 ]
1 새 Clipboard 객체를 만듭니다.
2 하나 이상의 형식으로 전송될 데이터를 클립보드에 추가합니다.
3 드래그 동안 프록시 이미지로 사용될 BitmapData 객체를 doDrag에 만들어 선언할 수도 있습니다.
4 이 작업에서 허용되는 액션을 제한하는 NativeDragOptions 객체를 만들 수도 있습니다. allowedActions 매개 변수를 null로 남겨 두면 모든 액션이 허용됩니다.
5 NativeDragManager.doDrag()를 호출합니다.


[ 드래그 시작 객체 프로세스 ]
1 doDrag() 메서드를 호출한 후에 nativeDragStart 이벤트발생
2 드래그가 진행 중인 동안에는 nativeDragStart 이벤트발생
3 사용자가 마우스를 놓아서 드랍 할 때에는 nativeDragComplete 이벤트를 전달

[ 드랍 시 프로세스 ]
nativeDragComplete 이벤트의 핸들러는 이벤트의 dropAction 속성을 확인하여 드래그 앤 드롭 작업이 완료되었는지를 결정할 수 있으며, dropActionNativeDragActions.NONE인 경우에는 드래그한 항목이 드롭 가능한 대상에 드롭되지 않은 것입니다.

doDrag() 은 mouseDown 또는 mouseMove 이벤트 핸들러 내에서만 호출할 수 있습니다.
mouseMove 이벤트에 대한 응답으로 호출된 경우에는 마우스 버튼도 눌러진 상태여야 합니다.

Posted by 버터백통