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

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

10.2.指定一個拖拽代理

2024-04-27 13:52:08
字體:
來源:轉載
供稿:網友
10.2.1 問題
你希望在拖拽開始時自定義一幅圖像來表現這個被拖拽的對象。
10.2.2 解決辦法
為DragManager.doDrag 方法的可選參數dragImage 指定一幅自定義圖像。
10.2.3. 討論
默認情況下,在拖拽操作中使用的圖像是一個包含透明度的矩形。這個在拖操作開始時被渲染的顯示對象被稱為拖拽代理。通過給dragImage 參數傳遞一個IFlexDisplayObject 實例,你可以改變這幅圖像。Flex 框架提供的絕大部分組件都能用作拖拽代理,因為它們都擴展了mx.core.UIComponent 類,而該類實現了IFlexDisplayObject 接口。雖然添加一個拖拽代理是表現物體正被移動到何處的一個簡單方法,但這樣做更多是為了防止不必要的誤拖拽。BitmapAsset 類同樣實現了IFlexDisplayObject 接口,并且它能方便地抓取應用程序中正在移動的可視對象的位圖數據。

在本示例中,我們為一個拖拽操作指定一個BitmapAsset 實例作為拖拽代理:
+展開
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxmllayout="horizontal">
<mx:Script>
<![CDATA[
import mx.core.BitmapAsset;
import mx.core.DragSource;
import mx.events.DragEvent;
import mx.managers.DragManager;
private var xoffset:Number;
private var yoffset:Number;
private static const FORMAT:String = "box" ;
private function mouseDownHandler(evt:MouseEvent ):void {
xoffset = evt.localX;
yoffset = evt.localY;
var initiator:Box = evt.currentTarget as Box;
var proxyBox:BitmapAsset = new BitmapAsset();
proxyBox.bitmapData = New BitmapData(initiator.width,initiator.height );
proxyBox.bitmapData.draw( initiator );
var dragSource:DragSource = new DragSource();
dragSource.addData( initiator, FORMAT );
DragManager.doDrag( initiator, dragSource, evt,proxyBox, 0, 0, 0.5 );
}
private function dragEnterHandler( evt:DragEvent ):void {
if ( evt.dragSource.hasFormat( FORMAT ) ) {
DragManager.acceptDragDrop(Canvas(evt.currentTarget));
}
}
private function dropHandler( evt:DragEvent ):void {
var box:Box = Box( evt.dragInitiator );
box.x = evt.localX - xoffset;
box.y = evt.localY - yoffset;
}

]]>
</mx:Script>
<mx:Canvas id="canvasbackgroundColor="0xEEEEEEwidth="300height="300"
dragEnter="dragEnterHandler(event);dragDrop="dropHandler(event);">

<mx:Box id="dragItemwidth="20height="20backgroundColor="0x00FFCCmouseDown="mouseDownHandler(event);" />
</mx:Canvas>
</mx:Application>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永年县| 朝阳区| 龙门县| 阿合奇县| 郑州市| 阳山县| 阿鲁科尔沁旗| 白河县| 锡林郭勒盟| 鄂托克前旗| 建始县| 纳雍县| 三穗县| 盈江县| 长春市| 黔西县| 济源市| 瑞金市| 庆元县| 五大连池市| 湖口县| 财经| 双桥区| 金坛市| 通州市| 玉山县| 伊川县| 仲巴县| 闵行区| 岳阳县| 兴义市| 大厂| 平山县| 东城区| 兴义市| 彰武县| 台前县| 沁源县| 汝州市| 清流县| 孝昌县|