2

コントロール内でマウスの右クリックを使用してコンテキスト メニューを使用して、切り取り、コピー、貼り付けなどを選択できることを知っています。また、Windows のキーボード ショートカット CTRL-C をコピーおよび CTRL に使用できることにも気付きました。 -V は貼り付けを表します。

Windows はネイティブの CTRL-Insert (コピー用) および SHIFT-Insert (貼り付け用) をサポートしています。

ただし、Flex 内では、これらは機能していないようです。これらのキーボードイベントを許可できた人はいますか? どんな解決策でも大歓迎です。

4

2 に答える 2

1

注: オペレーティング システムと Web ブラウザーは、Adobe Flash Player または AIR の前にキーボード イベントを処理します。たとえば、Microsoft Internet Explorer では、含まれている SWF ファイルがキーボード イベントを送出する前に、Ctrl+W を押すとブラウザ ウィンドウが閉じます。

これに似たことができます

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
 layout="absolute" creationComplete="init()">

 <mx:Script>

 <![CDATA[

    private function init():void{

     this.addEventListener(MouseEvent.CLICK, clickHandler);

     this.addEventListener(KeyboardEvent.KEY_DOWN,keyPressed);

    }

    private function clickHandler(event:MouseEvent):void {

      stage.focus = this;

    }

    private function keyPressed(evt:KeyboardEvent):void{

       if(evt.ctrlKey && evt.keyCode == 65)

             trace("CTRL A is pressed");

       if(evt.ctrlKey && evt.keyCode == 66)

             trace("CTRL B is pressed");

   }

 ]]>

 </mx:Script>

</mx:Application>

次に、オペレーティング システムのクリップボードに書き込むには:

import flash.desktop.ClipboardFormats;

 var copy:String = "A string to copy to the system clipboard.";
 Clipboard.generalClipboard.clear();
 Clipboard.generalClipboard.setData(ClipboardFormats.TEXT_FORMAT, copy);

オペレーティング システムのクリップボードから読み取るには:

import flash.desktop.ClipboardFormats;

 var pasteData:String  = Clipboard.generalClipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
于 2010-02-11T20:12:32.650 に答える
1

Clipboard クラスは、Flash Player 10 以降で使用できます。

于 2010-08-18T10:27:12.003 に答える