- 浏览: 551688 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
coosummer:
推荐使用http://buttoncssgenerator.c ...
【转载】CSS圆角按钮(一) -
saiarmuluo:
不错,支持。
java log4j日志 写入数据库 -
springdata_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Freemarker 使用 -
zlbdexiaohao:
棒棒的
flex ToolTip汇总 -
hw_128:
demo的代码的,能不能发一下,谢谢 qq257515270 ...
java log4j日志 写入数据库
DragManager 类管理拖放操作,您可以使用它来将数据从 Flex 应用程序中的一个位置移动到另一位置。例如,您可以选择一个对象(如 List 控件中的项目)或一个 Flex 控件(如 Image 控件),然后将其拖至另一个组件进行添加。
1.DragManager.showFeedback(feedback:String):void参数feedback可选值
DragManager.COPY 在拖动鼠标,并按下Crtl键时显示一个带有一个白色加号的绿色圆圈表示可以放置
DragManager.LINK 在拖动鼠标,并按下shift键时出现一个带有白色箭头的圆圈
DragManager.MOVE 仅一个箭头表示当前可以拖放
DragManager.NONE表示不能放置的图标
1.简单的demo
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.controls.Label; import mx.core.IUIComponent; import mx.containers.Box; import mx.containers.Canvas; import mx.events.DragEvent; import mx.managers.DragManager; import mx.core.DragSource; import mx.core.UIComponent; private static const FORMAT:String = "box"; private function boxMouseDownHandler(evt:MouseEvent):void{ var iu:Box = evt.currentTarget as Box; var dragSource:DragSource = new DragSource(); dragSource.addData( iu, FORMAT ); // lbl.setStyle("backgroundColor","red"); DragManager.doDrag( iu, dragSource, evt ); } private function canvasDragEnterHandler(evt:DragEvent):void{ if(evt.dragSource.hasFormat(FORMAT)){ DragManager.acceptDragDrop(Canvas(evt.currentTarget)); } } private function canvasDragHandler(evt:DragEvent):void{ var box:Box = Box(evt.dragInitiator); box.x = evt.localX; box.y = evt.localY; } ]]> </mx:Script> <mx:Canvas backgroundColor="0xEEEEEE" width="652" verticalScrollPolicy="off" horizontalScrollPolicy="off" height="320" horizontalCenter="0" verticalCenter="0" dragEnter="canvasDragEnterHandler(event)" dragDrop="canvasDragHandler(event)"> <mx:Box id="box" width="54" height="66" x="80" y="79" mouseDown="boxMouseDownHandler(event)" focusEnabled="true" > <mx:Image source="file.png" width="41" height="36" x="111" y="121"/> </mx:Box> </mx:Canvas> </mx:Application>
2.拖拽显示拖拽对象的缩略图,遗憾的是DragManager 对拖拽区域控制的不是很好,
效果图:
<?xml version="1.0"?> <!-- dragdrop\DandDImageProxy.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ //Import classes so you don't have to use full names. import mx.managers.DragManager; import mx.core.DragSource; import mx.events.DragEvent; import flash.events.MouseEvent; [Embed(source='1.png')] public var globeImage:Class; private function mouseOverHandler(event:MouseEvent):void { var dragInitiator:Image=Image(event.currentTarget); var ds:DragSource = new DragSource(); ds.addData(dragInitiator, "img"); var imageProxy:Image = new Image(); imageProxy.source = globeImage; imageProxy.height=60; imageProxy.width=40; DragManager.doDrag(dragInitiator, ds, event, imageProxy, -15, -15, 1.00); } private function dragEnterHandler(event:DragEvent):void { if (event.dragSource.hasFormat("img")) { DragManager.acceptDragDrop(Canvas(event.currentTarget)); } } private function dragDropHandler(event:DragEvent):void { Image(event.dragInitiator).x = Canvas(event.currentTarget).mouseX; Image(event.dragInitiator).y = Canvas(event.currentTarget).mouseY; } ]]> </mx:Script> <!-- The Canvas is the drag target --> <mx:Canvas id="v1" width="500" height="500" borderStyle="solid" backgroundColor="#DDDDDD" dragEnter="dragEnterHandler(event);" horizontalScrollPolicy="off" verticalScrollPolicy="off" dragDrop="dragDropHandler(event);"> <!-- The image is the drag initiator. --> <mx:Image id="myimg" source="@Embed(source='1.png')" mouseMove="mouseOverHandler(event);"/> </mx:Canvas> </mx:Application>
3.拖拽显示拖拽对象的缩略图,控制拖拽区域:
<?xml version="1.0"?> <!-- dragdrop\DandDImageProxy.mxml --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ //Import classes so you don't have to use full names. import mx.managers.DragManager; import mx.core.DragSource; import mx.events.DragEvent; import flash.events.MouseEvent; [Embed(source='1.png')] public var globeImage:Class; private function mouseOverHandler(event:MouseEvent):void { var dragInitiator:Image=Image(event.currentTarget); var ds:DragSource = new DragSource(); ds.addData(dragInitiator, "img"); var imageProxy:Image = new Image(); imageProxy.source = globeImage; imageProxy.height=60; imageProxy.width=40; DragManager.doDrag(dragInitiator, ds, event, imageProxy, -15, -15, 1.00); } private function dragEnterHandler(event:DragEvent):void { if (event.dragSource.hasFormat("img")) { DragManager.acceptDragDrop(Canvas(event.currentTarget)); } } private function dragDropHandler(event:DragEvent):void { Image(event.dragInitiator).x = Canvas(event.currentTarget).mouseX; Image(event.dragInitiator).y = Canvas(event.currentTarget).mouseY; if(Image(event.dragInitiator).x <0) { Image(event.dragInitiator).x =0; } if(Image(event.dragInitiator).x >v1.width-Image(event.dragInitiator).width) { Image(event.dragInitiator).x =v1.width-Image(event.dragInitiator).width; } if(Image(event.dragInitiator).y<0) { Image(event.dragInitiator).y=0; } if(Image(event.dragInitiator).y>v1.height-Image(event.dragInitiator).height) { Image(event.dragInitiator).y=v1.height-Image(event.dragInitiator).height; } } ]]> </mx:Script> <!-- The Canvas is the drag target --> <mx:Canvas id="v1" width="500" height="500" borderStyle="solid" backgroundColor="#DDDDDD" dragEnter="dragEnterHandler(event);" horizontalScrollPolicy="off" verticalScrollPolicy="off" dragDrop="dragDropHandler(event);"> <!-- The image is the drag initiator. --> <mx:Image id="myimg" source="@Embed(source='1.png')" mouseMove="mouseOverHandler(event);"/> </mx:Canvas> </mx:Application>
附件(dNdLib.swc.zip )为google code 上的拖拽包
发表评论
-
Flex4 模块 [转载]
2012-11-05 09:30 0使用flex4模块(1):传递数据到模块 在主程序与模块 ... -
Flex4 List改变了dataProvider,怎么锁定选中Item【转载】
2012-11-05 09:29 1114sfList.dataProvider = sfData; i ... -
解决flex嵌入字体导致文件过大的问题[转载]
2012-11-05 09:25 0众所周知,Flex嵌入字体 ... -
flex DataGrid 行列颜色设置
2012-05-06 20:00 9151群里一哥们问了个问题,就写了个这个demo DataGrid ... -
flex4 Spark DataGrid,title的字体居中
2012-03-20 21:23 6280【原创】flex4 Spark DataGrid,title的 ... -
flex4 Application backgroundImage
2012-03-10 15:13 2935群里一哥们问我 f4 设置 Application 的 bac ... -
flex 无法将“<mx:>”解析为组件执行.解决办法:
2012-03-09 16:34 8298flex项目导入早期版本 无法将“<mx:******& ... -
flex component 去掉点击加亮边框
2012-03-09 16:35 1101群里有人问我怎么去掉TextInput的文本框加亮。写下来 ... -
flex ProgressBar skin 修改
2012-03-09 16:36 2974f3的形式修改border: 其中 barSkin 是外边框 ... -
flex Draggable Flex Components
2012-03-08 20:38 1029Creating Resizable and Draggabl ... -
flex 3d云标签
2012-03-08 20:37 1631来自:http://downloads.wordpress.o ... -
AS html 形式超链接设置
2012-03-08 20:36 1651lbl.htmlText = " <b& ... -
flex IViewCursor 的应用
2012-03-08 20:35 1100IViewCursor 的应用 demo 效果图:可以上下 ... -
f4 spark 占位控件
2012-03-08 20:33 995halo的占位控件。<mx:Spacer width=& ... -
halo的grid DataGridColumn itemRenderer 混用 spark 组件
2012-03-03 14:20 1420halo的grid DataGridColumn itemRe ... -
flex DeferredInstanceFromFunction 使用
2012-03-02 21:54 1589flex DeferredInstanceFromFuncti ... -
flex ContextMenuItem 根据状态隐藏选项
2012-02-27 18:28 1391因群里一个群员的要求,写了这个demo,代码粗糙,根据一个控件 ... -
动态设置itemRenderer
2012-02-18 19:34 0<mx:TileList id="tl&quo ... -
【转】解决RemoteClass alias信息丢失
2012-02-18 19:15 800问题发生场景:flex程序中存在多个module都调用一个标记 ... -
flex tree icon
2012-02-14 19:53 33601.tree 改变每一项的 icon图标 <?xml ...
相关推荐
首先,我们需要了解Flex4中的DragManager类,它是实现拖放操作的核心。DragManager提供了开始拖放、监听拖放事件以及处理拖放结果的方法。当用户开始拖动一个对象时,我们可以通过调用DragManager的beginDrag()方法...
Flex提供了一系列的DragManager类和DragEvent类来处理这些操作。 1. **启动源(DragSource)**: 在Flex中,我们可以为任何UIComponent创建一个DragSource,定义拖动时的数据。例如,如果要拖动一个列表项,我们...
5. **拖拽支持**:若要实现拖拽功能,可以使用DragManager和DropTarget类,将MenuBar设置为可拖动,并定义合适的drop目标。 标签“Flex MenuBar 竖”强调了这个主题的关键特征,即Flex中的垂直MenuBar。 在压缩包...
在Flex中实现拖放功能,我们需要利用Flex提供的DragManager和DropTarget类。DragManager负责处理整个拖放过程的逻辑,而DropTarget则定义了可以接受被拖动对象的目标区域。 首先,我们需要为树形控件设置DragSource...
Flex中的拖放操作主要依赖于`DragManager`类,它是整个拖放过程的核心。`DragManager`提供了一系列静态方法和属性,用于控制和监控拖放行为。例如,`DragManager.enableDrag()`可以开启拖放功能,而`DragManager....
拖拽功能在Flex中可以通过使用内置的DragManager类和Event类来实现。DragManager类提供了全局的拖放管理,而事件类如MouseEvent和DragEvent则是处理拖放过程中的各种交互。下面我们将深入探讨如何在Flex中创建一个...
本篇将深入探讨如何在Flex中实现线图的左右移动,以及DragManager类在其中的作用。 一、Flex中的LineChart组件 LineChart是Flex中用于绘制折线图的标准组件,它继承自Chart类,可以展示各种数值型数据。LineChart...
1. 自定义DragManager:虽然Flex提供了内置的`DragManager`,但开发者可以根据需求创建自定义的拖放逻辑。例如,可以创建一个子类,重写其方法以实现特定的拖放行为。 2. 拖放服务:使用服务接口(如`IDragSource`...
1. **拖放功能**:在Flex中,实现拖放操作主要依赖于`DragManager`和`DropTarget`类。`DragManager`负责管理整个应用程序的拖放行为,而`DropTarget`则定义了可以接受拖放操作的目标对象。在这个例子中,商品图标...
在Flex中,实现拖放(Drag and Drop)功能主要涉及两个核心类:`DragManager`和`DragInitiator`。`DragManager`是系统级别的服务,负责管理整个应用的拖放操作,而`DragInitiator`通常是一个可拖动的UI组件,如...
1. **DragManager**: Flex 中的 DragManager 是处理拖放事件的主要对象,它负责监控和管理整个拖放过程。开发者需要通过 DragManager 来启动拖动操作,并设置拖动源和目标的相关属性。 2. **dragEnabled 和 ...
5. **DragManager和DropTarget**:为了实现拖放功能,我们需要利用Flex的DragManager和DropTarget类来处理拖放事件。 6. **自定义配置文件解析**:我们可以创建一个配置类,读取XML或JSON格式的配置文件,解析其中的...
`DragManager` 是Flex中全局的拖放管理器,负责处理所有的拖放操作,而`DragSource` 则是定义拖放源的类,它定义了被拖动的数据以及与之相关的视觉效果。 首先,要实现拖放操作,你需要设置一个可拖动的组件。这...
1. **Flex 4.5的DragManager和DropTarget** Flex 4.5中的`DragManager`和`DropTarget`是实现拖放操作的核心类。`DragManager`负责整个拖放过程的管理,包括启动拖放、跟踪鼠标移动和处理释放事件等。而`DropTarget`...
在Flex中,拖放功能主要通过Flash Player的内置DragManager类实现。DragManager允许开发者启动、管理和控制拖放操作。在描述中提到的示例中,可能包含了以下关键知识点: 1. **组件的可拖动性**:在Flex中,任何...
实现数据拖拽的关键在于利用Flex的DragManager和DropManager类。DragManager负责处理拖动的启动、执行和结束,而DropManager则管理目标区域的接收和响应。在两个DataGrid之间进行数据拖放时,我们需要为源DataGrid的...
DragManager是Flex中负责管理所有拖放操作的全局对象,它提供了开始拖放、结束拖放等核心方法。在实例中,可能通过调用DragManager.startDrag()开始一个拖放过程,并设置拖动范围、是否允许缩放或旋转等参数。 接着...
这利用了Flex的DragManager和DropTarget API,可以增强用户的交互体验。 5. **中文版**:这个版本的购物商店是中文的,意味着所有的用户界面元素、提示信息和帮助文档都本地化为中文,适应中国用户的需求。 6. **...
4. 拖放(Drag and Drop):实现拖动Panel的关键是使用Flex的DragManager和DropManager。通过设置dragEnabled属性为true,我们可以使Panel成为可拖动的源。同时,我们需要监听鼠标事件,如mousedown、mousemove和...
3. 拖拽组件:Flex提供了DragManager和DropManager来支持拖放操作,但这里的“拖拽组建”可能是对这一功能的封装,提供了更加易用的API和更好的视觉反馈。拖拽组件常用于构建具有用户友好的界面,例如在列表之间移动...