国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

23.10.使用本地拖拽(Drag-and-Drop)API

2024-04-27 13:52:33
字體:
來源:轉載
供稿:網友
23.10.1.問題
我想在應用程序內外拖動數據.
23.10.2.解決辦法
添加數據到剪貼板,使用NativeDragManager類管理拖拽操作。
23.10.3.討論
通過本地的drag-and-drop API文件系統和AIR應用程序之間可以進行數據傳輸。當一個拖拽姿勢啟動后,指定格式的數據被添加到剪貼板并傳遞給NativeDragManager的doDrag方法。

你可以注冊事件監聽器監聽NativeDragManager類拖拽操作發出的completion事件。事件對象類型是NativeDragEvent類實例,通過NativeDragEvent.clipboard屬性可訪問剪貼板數據。

當用戶用鼠標選擇了應用程序的某一個元素,即一個拖拽姿勢被啟動。當用戶按住鼠標,操作進入“拖階段”,所有繼承自flash.display.InteractiveObject類的注冊組件都可接受拖拽動作。

當用戶松開鼠標即表示拖拽姿勢完成。啟動拖拽姿勢的組件被認為是“拖動源”,接受拽操作的InteractiveObject實例被認為是“拖拽目標”。

Flex Framework本身就支持應用程序內的拖拽操作,而本地的拖拽API運行在文件系統和AIR程序之間拖拽數據。我們推薦使用Flex FrameWork 拖拽API 。如果你熟悉mx.managers.DragManager 類在Flex 程序內傳輸數據的話, 那么你會發現flash.desktop.NativeDragManager類與此非常相似。有個重要方面需要注意的是兩個類的DragSource對象被添加到DragManager實例中,而Clipboard對象被添加到NativeDragManager實例中。

下面的例子使用NativeDragManager添加一個圖片到剪貼板,并使用拖拽姿勢傳輸數據到文件系統的一個目錄:
+展開
-XML
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="verticalwindowComplete="initHandler();closing="closeHandler();">

<mx:Script>
<![CDATA[
import mx.graphics.codec.PNGEncoder;
private var tempDir:File = File.createTempDirectory();
private var imageData:BitmapData;
private function initHandler():void {
imageData = new BitmapData( image.width, image.height );
imageData.draw( image );
}
private function closeHandler():void {
tempDir.deleteDirectory();
}
private function clickHandler():void {
var transfer:Clipboard = new Clipboard();
transfer.setData( ClipboardFormats.FILE_LIST_FORMAT, [getImageFile()], false);
NativeDragManager.dropAction = NativeDragActions.COPY;
NativeDragManager.doDrag(this ,transfer,imageData);
}
private function getImageFile():File {
var tempFile:File = tempDir.resolvePath( "img.png");
var png:ByteArray = new PNGEncoder().encode( imageData );
var stream:FileStream = new FileStream();
stream.open( tempFile, FileMode.WRITE );
stream.writeBytes( png );
stream.close();
return tempFile
}

]]>
</mx:Script>
<mx:Image id="imagesource="@Embed(source='assets/bigshakey.png')"
buttonMode="trueuseHandCursor="truemouseDown="clickHandler();" />

</mx:WindowedApplication>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镇康县| 西青区| 文山县| 甘洛县| 四子王旗| 五莲县| 玉门市| 临安市| 莱西市| 望城县| 平昌县| 资阳市| 宁安市| 乾安县| 阿勒泰市| 大石桥市| 泾川县| 出国| 大悟县| 和林格尔县| 滦南县| 周至县| 孟津县| 昌图县| 体育| 新宾| 和硕县| 新郑市| 宁津县| 白城市| 榆树市| 黔东| 扎囊县| 武胜县| 婺源县| 沙河市| 长治市| 兰西县| 浮山县| 云霄县| 凌海市|