När en användare drar ett urklippsobjekt innanför gränserna för en visuell komponent skickas händelserna nativeDragEnter och nativeDragOver. Om du vill ta reda på om komponenten accepterar urklippsobjektet kan hanterarna för dessa händelser kontrollera egenskaperna clipboard och allowedActions för händelseobjektet. Om du vill signalera att komponenten kan acceptera släppningen måste händelsehanteraren anropa metoden NativeDragManager.acceptDragDrop(), och skicka en referens till den mottagande komponenten. Om mer än en registrerad händelseavlyssnare anropar metoden acceptDragDrop() har den sista hanteraren i listan högsta prioritet. acceptDragDrop()-anropet fortsätter att gälla tills musen lämnar gränserna för det accepterande objektet, och händelsen nativeDragExit utlöses.
Om mer än en åtgärd tillåts i parametern allowedActions som skickas till doDrag(), kan användaren ange vilken av de tillåtna åtgärderna han eller hon tänker utföra genom att hålla ned en modifieringstangent. Draghanteraren ändrar markörbilden för att ange för användaren vilken åtgärd som sker om han eller hon slutför släppningen. Den tänkta åtgärden rapporteras i egenskapen dropAction för NativeDragEvent-objektet. Åtgärderna för en dragningsgest är bara förslag. Komponenterna som ingår i överföringen måste implementera rätt beteende. En flyttåtgärd slutförs till exempel genom att dragningsinitieraren tar bort det dragna objektet och släppmålet lägger till det.
Dragmålet kan begränsa släppåtgärden till en av tre möjliga åtgärder genom att du ställer in egenskapen dropAction för klassen NativeDragManager. Om en användare försöker att välja en annan åtgärd med tangentbordet visar NativeDragManager markören otillgänglig. Ställ in egenskapen dropAction i hanterarna för både nativeDragEnter- och nativeDragOver-händelserna.
I följande exempel visas en händelsehanterare för en nativeDragEnter- eller nativeDragOver-händelse. Den här hanteraren accepterar bara en indragningsgest om urklippet som dras innehåller data i textformat.
import flash.desktop.NativeDragManager;
import flash.events.NativeDragEvent;
public function onDragIn(event:NativeDragEvent):void{
NativeDragManager.dropAction = NativeDragActions.MOVE;
if(event.clipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){
NativeDragManager.acceptDragDrop(this); //'this' is the receiving component
}
}