上一篇笔记学习了怎么从 把一个控件拖放到另外一个控件里面(即 A --》 B里面)。

而现在呢,则是学习  怎么把 A 拖到另外一个位置。 (A --》A位置改变);


先说一下实现的思路(主要也就是思路,不是什么技术问题):

1、在控件拖动前要先注册好控件的MouseDown事件。(可以在控件创建好的时候注册,获取其他你觉得合适的时候)

2、当鼠标MouseDown下的时候(鼠标点击下去,未放开鼠标的时候),注册控件的面板的MouseMoveROLL_UP事件以及控件的MouseUP

3、在MouseMove的处理方法里面设置控件的x,y ,算法看代码截图里面。

4、在MouseUp的处理事件里面,记得清除掉控件的ROLL_UPROLL_UPROLL_UP事件。

这样呢,当鼠标点击下,就可以拖动控件的位置。鼠标放开或者移出面板范围的时候,清除面板移动,面板移出和鼠标放开的事件。

代码例子:

1、之所以把MouseMove事件设置在面板上,因为如果拖动速度太快的话,鼠标位置会移出控件对象之外,导致拖动停止。

2、设置ROLL_OUT事件,如果鼠标移出了面板之外,控件就停止移动了。


贴上一个封装好的类(可以实现控件的拖动和控件的大小改变,不过有一些小问题,还没来得及改。):

(详细的代码,封装好的一个类,只要传入控件对象,以及控件所在的面板对象就可以,帮你实现拖动了。)

核心封装类 和调用例子:

1、类的功能

1.1 实现控件的位置拖动

1.2 实现控件大小的改变

调用方法

//创建这个控件操作的类

var operator:ControlOperate = new ControlOperate(this,null);  

 //传入控件对象(所有需要移动的控件都是使用这个类,所以控件对象传入放在方法里了)

operator.setVariate(control);

加上这两句的效果:

拖动的效果:

点击那个些小点,可以改变控件的大小。(上面,右边的点,改变控件大小的算法有问题,还没修改)

多个控件的话

多个控件调用的方法: Application1_creationComplete是Application创建结束调用的方法。

1、声明了一个ControlOperate对象

2、实例化(传入当前的面板对象,以及另外一个面板的对象显示控件的属性,目前未实现))

3、传入控件对象,传入之后,会为该对象注册相应的事件。

 

【教程】【FLEX】#006 控件位置的拖动的更多相关文章

  1. Xamarin iOS教程之页面控件

    Xamarin iOS教程之页面控件 Xamarin iOS 页面控件 在iPhone手机的主界面中,经常会看到一排小白点,那就是页面控件,如图2.44所示.它是由小白点和滚动视图组成,可以用来控制翻 ...

  2. WPF 控件库——可拖动选项卡的TabControl

    WPF 控件库系列博文地址: WPF 控件库——仿制Chrome的ColorPicker WPF 控件库——仿制Windows10的进度条 WPF 控件库——轮播控件 WPF 控件库——带有惯性的Sc ...

  3. 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程

    反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...

  4. jQuery学习笔记(控件位置定位、尺寸大小的获取等)

    想做一个幽灵按钮出来,效果大概如下图: 当点击按钮的时候,会有四根线条从四个方向飞入,经历从“无-有-无”的闪入过程. 那么我的设计想法是,先在HTML中定义一个按钮,然后在jQuery中设计按钮点击 ...

  5. IOS第八天(6:UITableViewController新浪微博, 模型和 控件位置封装一起statusFrame)

    *****HMViewController #import "HMViewController.h" #import "HMStatus.h" #import ...

  6. 《zw版·Halcon-delphi系列原创教程》halconxlib控件列表

    <zw版·Halcon-delphi系列原创教程>halconxlib控件列表 Halcon v11.01版,com控件,安装后,共有75个控件,      不过最重要的控件,只有两个,T ...

  7. Unity 通过Animation实现控件位置的转换

    Unity版本:4.5.1 NGUI版本:3.6.5 参考链接:http://blog.csdn.net/unity3d_xyz/article/details/23035521,作者:CSDN in ...

  8. js获取控件位置以及不同浏览器中的差别

    js获取控件位置(坐标位置)在不同浏览器中的差别. //获取坐标位置 function getpos(e) { var t=e.offsetTop; var l=e.offsetLeft; var h ...

  9. Android 使用动画效果后的控件位置处理 类似系统通知栏下拉动画

    Android的动画的使用,请参考.Android的动画,在设计方面,我有点不太理解,觉得这样搞很怪,因为在控件动画后,即使设置了停留在动画结束时的位置,我们也确实看到了控件停在那个位置,但其实该控件 ...

随机推荐

  1. 编写高质量JavaScript代码的68个有效方法

    简介: <Effective JavaScript:编写高质量JavaScript代码的68个有效方法>共分为7章,分别涵盖JavaScript的不同主题.第1章主要讲述最基本的主题,如版 ...

  2. Golang panic用法

    Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...

  3. 破解栅栏密码python脚本

    今天遇到一个要破解的栅栏密码,写了个通用的脚本 #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_8 -*- # Author ...

  4. nginx重启报错:nginx: [error] invalid PID number "" in "/run/nginx.pid"

    问题描述:执行 nginx -t 是OK的,然而在执行 nginx -s reload 的时候报错 nginx: [error] invalid PID number “” in “/run/ngin ...

  5. WPF popup被截断的原因和修改方法

    原因:wpf里 popup不能超过屏幕75%的面积,不知道为什么要这么设置? 修改方法: private void SetPopupScreen() { Rect rtWnd = , , gridMa ...

  6. WPF Datagrid横向排列

    <DataGrid.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal&q ...

  7. MySQL千万级大表优化解决方案

    MySQL千万级大表优化解决方案 非原创,纯属记录一下. 背景 无意间看到了这篇文章,作者写的很棒,于是乎,本人自私一把,把干货保存下来.:-) 问题概述 使用阿里云rds for MySQL数据库( ...

  8. 使用google-gson类库解析json文件

    使用google-gson类库解析json文件 使用JsonParser解析器来解析字符串和输入流,变成json对象 代码如下: public class Readjson { public stat ...

  9. Microservices与DDD的关系

    Microservices(微服务架构)和DDD(领域驱动设计)是时下最炙手可热的两个技术词汇.在最近两年的咨询工作中总是会被不同的团队和角色询问,由此也促使我思考为什么这两个技术词汇被这么深入人心的 ...

  10. HDU1560(KB2-E IDA星)

    DNA sequence Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...