有没有办法允许使用Shift-Insert在CTRL-V之上粘贴剪贴板?
我知道你可以在控件中使用右键单击来选择剪切,复制,粘贴等等,我也注意到你可以使用Windows键盘快捷键CTRL-C进行复制和粘贴的CTRL-V。有没有办法允许使用Shift-Insert在CTRL-V之上粘贴剪贴板?
Windows支持原生CTRL插入(用于复制)和SHIFT插入(用于粘贴)。
但是,在Flex中,似乎这些似乎不起作用。有没有人能够允许这些键盘事件?任何解决方案,赞赏。
剪贴板课程从Flash Player 10开始提供。
注意:操作系统和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;
我正在使用Flex Builder 3,不知道我可以在哪里导入flash.desktop。我只找到以下内容,但它只能让你粘贴到Windows剪贴板。我实际上没有测试过它,但我仍然试图找到一种粘贴到TextInput的方法。我已经编写了KeyboardEvent代码来获取Shift-Insert事件。我只是不知道如何进入系统剪贴板。也许我错过了flash.desktop。*不知何故。 import flash.system.System; System.setClipboard(string); – bugsmash 2010-02-11 21:21:11
它仅在AIR中。 http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/desktop/Clipboard.html – 2010-02-12 01:04:59
你在说什么语境?他们应该在文本区域或文本输入中工作,但就是这样。 – 2010-02-11 20:00:59
那么,CTRL-C和CTRL-V可以在文本区域或输入内工作,但CTRL-Insert和SHIFT-Insert不起作用。他们几乎执行相同的功能。不过,我猜99%的人口使用CTRL-C和CTRL-V。我在少数。 但是你应该注意到CTRL-Insert和SHIFT-Insert几乎可以在所有其他的Windows应用程序中工作。 – bugsmash 2010-02-15 16:07:26
这是Flex中的一个回归问题,它适用于较旧的控件,不适用于火花控件。一个错误已经提交。 https://bugbase.adobe.com/index.cfm?event=bug&id=2928015如果您觉得应该更正,请投票。 – 2013-02-07 10:50:44