flex控件拖动之这个程序太疯狂

flex组件(放大、缩小、拖动、最大化、最小化) 可以对任何flex组件进行拖拽变大变小,这个例子使用的是边框,对此组件进行了最大化,最小化等的处理..这个例子一般在项目里是什么加分的..希望对大家有所帮助。 立即下载

      在程序中如果想实现控件的拖动一般的实现思路应该是监听鼠标的按下事件、鼠标的移动事件以及鼠标释放事件。在mousedown的时候做一个flag,表示鼠标已经按下,并且保存鼠标按下时的坐标。然后再mousemove的时候判断flag是否是鼠标按下状态,得到鼠标的偏移量根据移动的偏移量调节控件的位置。最后在mouseup事件中将flag还原。
在flex中这一切变得非常简单,因为flex在Sprite类中定义了两个函数startDrag()和stopDrag()。大家可能对Sprite类不太熟悉。的确直接用到这个类的时候确实不多,但是我们对这个类的子类应该是非常熟悉的UIComponent。哈哈,看到重量级的了吧。UIComponent类可是所有可视控件的鼻祖,也就是说我们能看到的所有的控件都是Sprite的子类。也就意味着所有的可视控件都拥有startDrag()和stopDrag()这两个函数。
      这时候大家要问了,说了这个么半天这两个函数有什么特殊之处呢?这和疯狂有什么联系呢?接下来我来说是这个两个疯狂的函数。首先说startDrag,官方文档上是这样描述的:“让使用者拖动制定的Sprite,拖动状态会一直保持,直到明确的调用stopDrag函数或者另外一个Sprite开始拖动。同一个时间内只能有一个Sprite处于拖动状态”。也就是说如果想实现某个控件的拖动,直接调用startDrag函数就可以了,结束拖动就调用stopDrag函数。最原始的控件拖动思想在flex中再无用武之地了。然后再简单提一下stopDarg函数,因为刚才在介绍startDrag函数中已经提到这个函数的作用了,所以直接把官方说明在说一下:“结束startDarg函数。在调用stopDrag函数或者另外一个Sprite被拖动之前Sprite会保持拖动状态。同一个时间内只能有一个Sprite处于拖动状态”。
最简单的实现方法,在想要拖动的控件的mouseDown事件中调用startDrag函数,然后再控件的mouseUp事件中调用stopDrag函数就非常轻松的实现了控件拖动,仅仅只有两行代码。
下面是实现一个按钮拖动的例子:


疯狂的时刻!
一个按钮的拖动轻松的实现了,那么其他的控件呢?是不是可以实现一个界面,可以让用户自己把控件摆放到自己喜欢的位置?把其他控件放到工程中试试。
程序代码如下:

编译运行,你会发现结果并不是我们想象的那样,每个控件都可以拖动,而是有些控件可以完整拖动,有些控件的一部分可以拖动。这些部分可以拖动的控件一般都是复杂复合型的控件,例如日历控件,这些控件可以被拖动到四分五裂,简直是太疯狂啦!
画面初始状态:

画面初始状态:

 https://p-blog.youkuaiyun.com/images/p_blog_youkuaiyun.com/To9m/EntryImages/20091020/base.PNG

拖动之后的效果:

拖动之后的效果:

https://p-blog.youkuaiyun.com/images/p_blog_youkuaiyun.com/To9m/EntryImages/20091020/after.PNG

从专利库到Zemax:一个6mm定焦镜头从零到交付的完整设计流程(含CodeV转换技巧) 本文详细介绍了6mm定焦镜头从专利库检索到最终交付的全流程设计,重点解析了CodeV与Zemax工具链的无缝衔接技巧。通过实际案例展示规格定义、专利筛选、结构适配、非球面优化等关键步骤,帮助光学设计工程师提升设计效率和制造良率。特别包含CodeV转换Zemax的实用技巧,适用于机器视觉和安防镜头开发。 阅读详情

相关推荐

二、ROS2完成Docker容器和宿主机通信,使用ros2 topic list看到,但是无法echo

如果容器和主机权限不一致,则会导致无法通信(我的代码中,docker容器是root,宿主机是普通用户),虽然可以查询到相关话题,但是订阅后没有消息输出。比如,docker容器创建了一个共享内存,其所有者为docker容器用户root,当宿主机去访问的时候,由于用户不同,没有权限访问,也就无法进行信息传递。该方法只是临时修改共享内存的权限,每次运行完,需要重新运行上述命令,才可以进行通信。在运行的过程中,ROS2使用了共享内存机制,会共享内存。运行之后,宿主机和容器可能用户名不同,这是因为。

qq_43280851的博客 1265

Flex拖动实现方法

    在交互性要求较高的系统中,拖动是一种比较常用的技术,例如,我们经常用到权限定制、数据导入导出定制等功能,这种情况下,一般是目标数据集合已经确定,用户需要从已有的集合中选择条目,使用拖动完成实现起来比较直观,友好;有些场景下需要允许容器内的元素能够自由拖动,例如一些图形设计工具。在Flex中,它本身就提供了很多支持拖动的特性,很多情况下,这些特性能够简化我们的开发,但是也有一些情况是需要我们...

weixin_33894640的博客 213

Bellhop水声信道模型的仿真

Bellhop是一种基于射线追踪的水声信道模型,广泛用于预测水下环境中的声压场。它通过模拟声波在水中的传播路径,计算声场分布,适用于复杂的水下通信场景。

yt94832的博客 1315

Flex拖动技术大全(3)

5.从外部拖动到组件,比如从桌面上拖动一个图片到图片组件等。 因为我的flash包中没有flash.events.NativeDragEvent等。所以这里稍作总结。 拖动外部文件 拖动外部文件需要NativeDragEvent,NativeDragManager类。其实用法和上面的DragManager一样,但是往往一个控件既要接受Flex内部被拖进来的控件,还要接受外部拖进来...

weixin_30701521的博客 188

银河麒麟(桌面版/服务器版)远程桌面配置全攻略:XRDP与VNC实战指南

本文提供了银河麒麟操作系统(桌面版与服务器版)配置远程桌面的完整实战指南。详细对比并演示了XRDP与VNC两种主流方案的安装、配置与连接步骤,涵盖从环境准备、软件安装、服务启动到客户端连接的全过程,并针对常见的黑屏、连接失败等问题给出了有效的排坑解决方案,帮助用户实现跨平台的便捷图形化远程管理。

b0c1d2的博客 812

基于IP2369与STM32的45W双向PD移动电源设计

USB PD(Power Delivery)是一种面向高功率、智能协商的通用快充协议,其核心在于通过BMC编码在CC线上完成供电能力(PDO)动态匹配与电压/电流精准调控。IP2369作为高度集成的PD协议管理芯片,内置PHY、协议引擎与MOSFET驱动,可卸载MCU实时通信压力;而STM32F103系列凭借低功耗STOP模式与丰富外设,成为电源状态管理与用户交互的理想协处理器。该组合显著提升系统鲁棒性与能效比,适用于便携式移动电源、嵌入式备用电源及PD协议教学验证等场景。本文围绕IP2369配置电阻精度、

weixin_42608299的博客 516

Flex控件拖动

<br />Flex控件拖动<br />在程序中如果想实现Flex控件拖动一般的实现思路应该是监听鼠标的按下事件、鼠标的移动事件以及鼠标释放事件。在mousedown的时候做一个 flag,表示鼠标已经按下,并且保存鼠标按下时的坐标。然后再mousemove的时候判断flag是否是鼠标按下状态,得到鼠标的偏移量根据移动的偏 移量调节控件的位置。最后在mouseup事件中将flag还原。<br />在Flex中这一切变得非常简单,因为Flex在Sprite类中定义了两个函数startDrag()和stopDr

Jason's Word 1667

Android Qcom USB Driver学习(五)

在前面的第二期中,我们知道一些非标的USB的充电类型Floatingcharger,其具有和普通DCP相似的大电流能力,但在最初检测的时候会限制Inputcurrentlimit到100mA,来进行检测是否是SDP类型,所以要支持大电流输入就需要进行vote操作,前面的几篇都有涉及,所以本文学习一下pmicusbcharger都相关的vote机制。...

Android驱动开发 2901

Flex中的拖动技术

Flex中的拖动技术     网上发现这篇文章很详细,稍作补充整理下! 组件的拖动分为:加强型(即本身就可以拖动设置是否可以拖动的属性即可),非加强型(可以通过DragManager,DragEvent,DragSource三个类来实现) 下面详细讲解常见的拖动,案例比较多,可以自行类推和拓展! <![CDATA[ import mx.collect

macower 技术专栏 5270

M2DGR数据集在主流SLAM框架中的实战配置指南:从ORB-SLAM到FAST-LIO的完整流程

本文提供了M2DGR多传感器数据集在主流SLAM框架中的实战配置指南。详细介绍了从ORB-SLAM、VINS-Mono等视觉/视觉惯性框架,到A-LOAM、FAST-LIO等激光/激光惯性框架的完整配置流程、参数调整要点及常见问题解决方案。通过实际测试对比,分析了各算法在M2DGR数据集上的表现,为机器人定位与建图研究提供了宝贵的实战经验。

k9l0m1的博客 481

华为OD新系统机试真题-勇攀数字高峰(Java/Py/C/C++/Js/Go)

新系统 华为OD机试新系统【勇登数字高峰】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD新系统机试真题【勇登数字高峰】

qq_45776114的博客 1548

Flex拖动实现方法-孙镜涛

Flex拖动实现方法     在交互性要求较高的系统中,拖动是一种比较常用的技术,例如,我们经常用到权限定制、数据导入导出定制等功能,这种情况下,一般是目标数据集合已经确定,用户需要从已有的集合中选择条目,使用拖动完成实现起来比较直观,友好;有些场景下需要允许容器内的元素能够自由拖动,例如一些图形设计工具。在Flex中,它本身就提供了很多支持拖动的特性,很多情况下,这些特性能够简

xhhuang1979的专栏 991

代谢组数据分析(二十一):通过MetaboAnalystR标准化构建sPLSDA预测模型

本文介绍了如何使用R语言中的MetaboAnalystR包和mixOmics包进行代谢组学数据的标准化和sPLSDA分析。MetaboAnalystR包用于数据预处理,包括数据初始化、清洗、补足、过滤和标准化等步骤,以确保数据质量。mixOmics包则用于sPLSDA分析,通过Lasso惩罚进行变量选择,并建立分类模型。文章详细说明了安装和加载相关R包的步骤,并提供了数据导入和预处理的代码示例。最后,强调了数据预处理的重要性,以确保后续分析的准确性和可靠性。

专注生信领域 2426

Flex4中的拖动技术

下面列一个最简单的例子,在Flex中,拖动原来如此简单 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <?xml version="1.0" encoding="utf-8"?> <s:Appl...

weixin_30471065的博客 93

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

自制Flex air 拖动和缩放控件

在制作工具时,有一个可以拖动和缩放对象的功能,想要使用控件实现。但是搜索了一圈发现没有合适的,所以自制了一个。应该还不错,发上来和大家分享一下。   不说什么了,看图   周围8个小方框可以实现修改对象大小,中间的那个实现拖动。点击另外的对象可以实现焦点的切换。   使用控件时,代码如下。(copy了一个Canvas中的代码)   <mx:WindowedApplication

cuilichen的专栏 2266

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

flex拖动技术汇总

Flex组件内置了处理拖拽事件的接口,有些控件已经实现了拖拽功能,比如List、DataGrid、Menu、 HorizontalList、 PrintDataGrid、TileList、Tree,在设置相关的拖拽属性后,它们都可以在相同类型的组 件之间利用鼠标来实现数据的转移。 allowDragSelection           是否可以拖选 allowMultip

一个人有了信仰,不管成不成功,至少不会迷茫。 2176

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

flex中如何实现拖拽

1,关于组件的拖动 flex里边有很多组件支持拖动,如Tree,DataGrid,TileList,Tile等,只要设置相应的属性便可进行拖动管理 这里针对Tree组件举个简单的例子,其它组件类似。 代码如下: 代码:                            dragEnabled="true"   dr

w_y_loong的专栏 1036

flex学习笔记--关于拖动

拖动--从startDrag开始直到flex里的DragManager 或者是NativeDragManager 但核心还是三个事件mouseDown,mouseUp,mouseMove 这几个事件的用法如下: 首先初始化的时候给被拖动的物体假设实例名是 thumb 添加事件监听 thumb.addEventListener( MouseEvent.MOUSE_DOWN,...

Lixiang_1012的博客 220

FLEX 拖动技术汇总

Flex组件内置了处理拖拽事件的接口,有些控件已经实现了拖拽功能,比如List、DataGrid、Menu、HorizontalList、 PrintDataGrid、TileList、Tree,在设置相关的拖拽属性后,它们都可以在相同类型的组件之间利用鼠标来实现数据的转移。allowDragSelection 是否可以拖选allowMultipleSelection...

weixin_30496751的博客 149

flex实现控件的拖动缩放

1、自己写,拖动最简单mousedown时 控件.startDrag(),mouseup时 stopDrag()。拖动、旋转、缩放、扭曲等效果的思路,先写个控件选中状态的类,主要目的是注册当前控件的中心点。然后根据mousemove时的鼠标位置和中心点的坐标对图片进行矩阵变换。不算难,就对数学有点要求。 var matrix:Matrix = new Matrix(); matrix....

ynshun的专栏 209

Flex2 用鼠标拖动控件

<?xmlversion="1.0"encoding="utf-8"?><mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"width="427"height="374"backgroundGradientColors="[#ffffff,#ffffff]"&g...

baiduan2016的博客 132
上一篇: 大数阶乘的算法
下一篇: flex 带打印预览功能的PrintJob
To9m
博客等级 码龄22年 90粉丝 18原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值