Quando un utente trascina un elemento degli appunti nei limiti di un componente visivo, il componente invia eventi nativeDragEnter e nativeDragOver. Per determinare se il componente può accettare l'elemento di appunti, il gestore di questi eventi può verificare le proprietà clipboard e allowedActions dell'oggetto evento. Per segnalare che il componente possa accettare il rilascio, il gestore eventi deve chiamare il metodo NativeDragManager.acceptDragDrop(), passando un riferimento al componente ricevente. Se più di un listener di eventi registrato chiama il metodo acceptDragDrop(), l'ultimo gestore dell'elenco ha la precedenza. La chiamata acceptDragDrop() rimane valida finché il mouse non lascia i limiti dell'oggetto accettante, attivando l'evento nativeDragExit.
Se è concessa più di un'azione nel parametro allowedActions passato a doDrag(), l'utente è in grado di indicare quale delle azioni concesse intende eseguire tenendo premuto un tasto modificatore. Il gestore di trascinamento modifica l'immagine del cursore per indicare all'utente quale azione si verificherebbe una volta completato il rilascio. L'azione desiderata è riportata dalla proprietà dropAction dell'oggetto NativeDragEvent. L'azione impostata per il movimento di trascinamento è solo consultivo. I componenti coinvolti nel trasferimento devono implementare il comportamento appropriato. Per completare un'azione di spostamento, ad esempio, il promotore del trascinamento potrebbe rimuovere l'elemento trascinato e la destinazione di rilascio potrebbe aggiungerla.
La destinazione di trascinamento può limitare l'azione di rilascio a una delle tre possibili azioni impostando la proprietà dropAction della classe NativeDragManager. Se un utente cerca di selezionare un'azione differente mediante la tastiera, la classe NativeDragManager visualizza il cursore non disponibile. Impostate la proprietà dropAction nei gestori per entrambi gli eventi nativeDragEnter e nativeDragOver.
L'esempio seguente illustra un gestore eventi per un evento nativeDragEnter o nativeDragOver Tale gestore accetta solo un movimento di trascinamento verso interno se gli appunti trascinati contengono dati in formato testo.
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
}
}