我知道你可以在控件中使用右鍵單擊來選擇剪切,複製,粘貼等等,我也注意到你可以使用Windows鍵盤快捷鍵CTRL-C進行復制和粘貼的CTRL-V。有沒有辦法允許使用Shift-Insert在CTRL-V之上粘貼剪貼板?
Windows支持原生CTRL插入(用於複製)和SHIFT插入(用於粘貼)。
但是,在Flex中,似乎這些似乎不起作用。有沒有人能夠允許這些鍵盤事件?任何解決方案,讚賞。
我知道你可以在控件中使用右鍵單擊來選擇剪切,複製,粘貼等等,我也注意到你可以使用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