システムクリップボードとの間の読み書きFlash Player 10 以降、Adobe AIR 1.0 以降 オペレーティングシステムのクリップボードを読み取るには、次のように Clipboard.generalClipbooard オブジェクトの getData() メソッドを呼び出して、読み取り形式で渡します。 import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)){ var text:String = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT); } 注意: Flash Player で実行されているコンテンツ、または AIR のアプリケーション以外のサンドボックスで実行されているコンテンツは、paste イベントのイベントハンドラーでのみ getData() メソッドを呼び出すことができます。つまり、AIR アプリケーションサンドボックスで実行されているコードのみが、paste イベントハンドラー外の getData() メソッドを呼び出すことができます。
クリップボードに書き込むには、1 つ以上の形式で Clipboard.generalClipboard オブジェクトにデータを追加します。同じ形式の既存のデータは、自動的に上書きされます。ただし、新しいデータを書き込む前にシステムクリップボードのクリアも行い、他の形式の無関係なデータも削除されるようにすることをお勧めします。 import flash.desktop.Clipboard; import flash.desktop.ClipboardFormats; var textToCopy:String = "Copy to clipboard."; Clipboard.generalClipboard.clear(); Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, textToCopy, false); 注意: Flash Player で実行されているコンテンツ、または AIR のアプリケーション以外のサンドボックスで実行されているコンテンツは、setData() メソッドを、キーボードイベント、マウスイベント、copy イベント、cut イベントなどのユーザーイベントのイベントハンドラー内でのみ呼び出すことができます。つまり、AIR アプリケーションサンドボックスで実行されているコードのみが、ユーザーイベントハンドラー外の setData() メソッドを呼び出すことができます。
|
|