임베디드 FLEX
글 수 19
2008.10.17 19:23:20 (*.105.125.81)
86471
List컴포넌트의 드래그 드롭 이벤트 함수를 등록하고 이벤트 표출용 List 에 기록한다. Clear 버튼을 사용하여 기록된 이벤트 목록을 지울 수도 있다.
소스 및 폼
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
fontFamily="굴림체" fontSize="16" >
<mx:Script>
<![CDATA[
import mx.events.DragEvent;
import mx.managers.DragManager;
import mx.core.DragSource;
private var EventCount:int = 0;
private function WriteEvent(str:String):void {
EventCount = EventCount + 1;
EventListData.addItemAt({label:EventCount.toString() + ">" + str}, 0);
}
private function lbListDragStart(src:String,event:DragEvent):void {
WriteEvent(src+" Drag Start");
}
private function lbListDragOver(src:String,event:DragEvent):void {
WriteEvent(src+" Drag Over");
}
private function lbListDragExit(src:String,event:DragEvent):void {
WriteEvent(src+" Drag Exit");
}
private function lbListDragEnter(src:String,event:DragEvent):void {
WriteEvent(src+" Drag Enter");
}
private function lbListDragDrop(src:String,event:DragEvent):void {
WriteEvent(src+" Drag Drop");
WriteEvent( "DragSource formats [" + event.dragSource.formats.toString() + "]" );
}
private function lbListDragComplete(src:String,event:DragEvent):void {
WriteEvent(src+" Drag Complete");
}
]]>
</mx:Script>
<mx:ArrayCollection id="LeftData1" >
<mx:Object label="1 Item" />
<mx:Object label="2 Item" />
<mx:Object label="3 Item" />
</mx:ArrayCollection>
<mx:ArrayCollection id="EventListData" >
<mx:Object label="Event List Data" />
</mx:ArrayCollection>
<mx:ArrayCollection id="DragSourceListData" >
</mx:ArrayCollection>
<mx:Panel y="42" width="362" height="250" layout="absolute"
horizontalCenter="0" title="단방향">
<mx:List id="lbLeft0"
dataProvider="{LeftData1}"
dragEnabled="true"
dropEnabled="true"
dragMoveEnabled="{cbDragMove.selected}"
y="60" width="162" height="136" horizontalCenter="-86"
dragStart="lbListDragStart('left',event)"
dragOver="lbListDragOver('left',event)"
dragExit="lbListDragExit('left',event)"
dragEnter="lbListDragEnter('left',event)"
dragDrop="lbListDragDrop('left',event)"
dragComplete="lbListDragComplete('left',event)"
>
</mx:List>
<mx:List id="lbRight0"
dropEnabled="true"
dragEnabled="true"
dragMoveEnabled="{cbDragMove.selected}"
dragStart="lbListDragStart('right',event)"
dragOver="lbListDragOver('right',event)"
dragExit="lbListDragExit('right',event)"
dragEnter="lbListDragEnter('right',event)"
dragDrop="lbListDragDrop('right',event)"
dragComplete="lbListDragComplete('right',event)"
y="60" width="162" height="136" horizontalCenter="84" >
</mx:List>
<mx:CheckBox x="17" y="10" label="이동" fontWeight="bold" id="cbDragMove"/>
</mx:Panel>
<mx:List id="lbEventList"
dataProvider="{EventListData}"
y="305" width="362" height="187" horizontalCenter="0" >
</mx:List>
<mx:Button y="500" label="CLEAR" width="362"
click="{EventListData.removeAll()}" horizontalCenter="0"/>
</mx:Application>
예제 실행



