2

我知道您可以使用右键单击控件来使用上下文菜单来选择剪切、复制、粘贴等。我还注意到您可以使用 Windows 键盘快捷键 CTRL-C 进行复制和 CTRL -V 用于粘贴。

Windows 支持本机 CTRL-Insert(用于复制)和 SHIFT-Insert(用于粘贴)。

但是,在 Flex 中,这些似乎不起作用。有没有人能够允许这些键盘事件?任何解决方案表示赞赏。

4

2 回答 2

1

注意:操作系统和 Web 浏览器将在 Adob​​e Flash Player 或 AIR 之前处理键盘事件。例如,在 Microsoft Internet Explorer 中,按下 Ctrl+W 会在任何包含的 SWF 文件调度键盘事件之前关闭浏览器窗口。

你可以做类似的事情

<?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

从 Flash Player 10 开始可以使用剪贴板类。

于 2010-08-18T10:27:12.003 回答