システムクリップボードとの間の読み書き
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()
メソッドを呼び出すことができます。
|
|
|