我知道您可以使用右键单击控件来使用上下文菜单来选择剪切、复制、粘贴等。我还注意到您可以使用 Windows 键盘快捷键 CTRL-C 进行复制和 CTRL -V 用于粘贴。
Windows 支持本机 CTRL-Insert(用于复制)和 SHIFT-Insert(用于粘贴)。
但是,在 Flex 中,这些似乎不起作用。有没有人能够允许这些键盘事件?任何解决方案表示赞赏。
我知道您可以使用右键单击控件来使用上下文菜单来选择剪切、复制、粘贴等。我还注意到您可以使用 Windows 键盘快捷键 CTRL-C 进行复制和 CTRL -V 用于粘贴。
Windows 支持本机 CTRL-Insert(用于复制)和 SHIFT-Insert(用于粘贴)。
但是,在 Flex 中,这些似乎不起作用。有没有人能够允许这些键盘事件?任何解决方案表示赞赏。
注意:操作系统和 Web 浏览器将在 Adobe 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;
从 Flash Player 10 开始可以使用剪贴板类。