AIRアプリでOS側からのドラッグ&ドロップを受け付ける方法

| | Save This Page to del.icio.us このエントリーを含むはてなブックマーク

 またしてもAIRネタです。ハイペースで情報を詰め込むと忘れやすいので、覚えているうちにネタ毎にまとめてblogに投げておくと、後々自分にとっても役に立ちそうなので書いてしまいます。

 さてさて、今回はMacのFinderやWindowsのExplorerのから直接ファイルをAIRアプリにドラッグ&ドロップして渡すためのAPIの使い方です。

 OS側からのファイルのドラッグ&ドロップには、flash.events.NativeDragEventが使われます。まずは、これらのイベントにハンドラを登録します。

addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, dragEnterHandler);
addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, dragDropHandler);

 次に、ハンドラを書きます。

private function dragEnterHandler(event:NativeDragEvent):void
{
    NativeDragManager.acceptDragDrop(this);
}

private function dragDropHandler(event:NativeDragEvent):void
{
    var files:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
    for each (var file:File  in files){
        ...以下略
    }
}

 といったようにFileオブジェクトを取り出せるので、後は通常のFileオブジェクトの扱い方と同じようにプログラミングしていくだけです。

TRACKBACK

このブログ記事を参照しているブログ一覧: AIRアプリでOS側からのドラッグ&ドロップを受け付ける方法

このブログ記事に対するトラックバックURL: http://blog.s2factory.co.jp/MT/mt-tb.cgi/34