【实战项目】【FLEX】#900 实现拖控件功能
一、功能说明:拖控件的功能(类似FLEX,VS 里面的拖控件)。
提示:大家对事件的注册和派发的说法可能不一样。因为在FLEX中和在Java中,叫法有的区别。但是本质是一样的。
注册事件 == 设置监听事件 || 派发事件 == 触发事件 ,也有人叫 “进行广播”
大家知道什么意思就好。
说明:
1、Application页面(放置控件列表,页面容器,属性面板这三个模块的Application页面)[PS:以下简称:主页面 ]
1.1 主页面加载 左、中、右 这三个模块 --> 模块加载技术 ==>暂无教程
2、控件列表模块
2.1 请求服务端数据(这边使用VS) --> 请求服务端数据(UrlLoader) ==> 【教程】【FLEX】#002 请求服务端数据(UrlLoader)
2.2 处理服务端返回的数据(生成控件列表,这里使用Tree控件,直接把传回来的JSON对象复制给Tree)
2.3 设置Tree控件的拖动 --> 控件拖放技术 ==> 【教程】【FLEX】#005 拖动
3、控件容器
3.1 注册控件列表的拖动事件 -->自定义事件的创建、注册,与派发技术,模块之间通讯技术 ==> 【教程】【FLEX】#003 自定义事件、模块间通讯
3.2 处理拖动的事件,生成控件,派发事件(初始化属性面板事件)
3.3 控件在控件容器的拖动,和控件大小的改变,派发 控件改变事件 -->控件位置、大小改变技术
3.4 注册属性面板,属性值改变派发的事件(改变属性值,控件跟着改变,eg:改变width这个属性,控件的也要跟着改变)
4、属性面板
4.1 注册控件容器里面,控件生成之后派发的事件(初始化属性面板事件) -->反射机制 ==> 【教程】【FLEX】#004 反射机制
4.2 事件处理方法(生成属性面板)
4.3 为属性面板中的属性值(TextInput控件),注册CHANGE事件(在事件处理里面 派发属性值改变事件)
4.4 注册 控件改变事件,并进行处理(改变属性面板中,对应属性的属性值)
二、该功能用到的技术:
1、模块加载
2、请求服务端数据
3、拖动
4、自定义事件(创建,注册事件,派发事件)
5、控件的位置、大小改变算法
6、反射机制
三、整体思路简单流图:

【实战项目】【FLEX】#900 实现拖控件功能的更多相关文章
- 用vs2013开启一个C拖控件的项目
visual studio作为一款集成开发环境备受青睐,笔者尤其喜爱它的拖控件功能,程序员应该追求业务逻辑和实际功能的优化,而不是把时间消耗在编写窗体和按钮上 笔者曾翻阅中关村图书大厦,西单图书大厦, ...
- ASP.NET不拖控件教程(1)-认识JSON
我讲讲脱离ASP.NET控件必备的一步,JSON和使用JQuery获取JSON吧! 高手跳过,写给学习中的人的.这篇帖子是假设你会使用JQuery(JQ这么普及,应该不至少没学过吧!真没学过以后再开帖 ...
- swing开发图形界面工具配置(可自由拖控件上去)
swing开发图形界面工具,eclipse swing图形化操作界面工具配置 1.有一个小功能要有一个界面,之前知道有一个 图形化界面的(就是可以往上面拖控件布局的工具)JBuilder,今天上午就下 ...
- WinForms拖控件拖到天荒地老
更新记录: 2022年4月15日:本文迁移自Panda666原博客,原发布时间:2021年4月18日. 2022年4月15日:更新自动生成Web CURD工具. 说明 Winforms的控件拖起来是真 ...
- WdatePicker 日期控件- 功能及示例
3. 多语言和自定义皮肤多语言支持 通过lang属性,可以为每个日期控件单独配置语言,当然也可以通过WdatePicker.js配置全局的语言语言列表和语言安装说明详见语言配置 示例3-1 多语言 ...
- DevExpress WPF v19.2图表图形控件功能增强?速速种草
通过DevExpress WPF Controls,你能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案. 无论是Office办公软件的衍 ...
- WPF之花式控件功能扩展
文章默认你已经入门WPF了 WPF日常开发,经常遇到默认的控件功能不满足需求,怎么办? No1. 自定义控件模板 平时开发中,经常遇到比较"俗"的需求,嫌弃控件默认的样子. ...
- AnjularJS系列2 —— 表单控件功能相关指令
第二篇,表单控件功能相关指令. ng-checked控制radio和checkbox的选中状态 ng-selected控制下拉框的选中状态 ng-disabled控制失效状态 ng-multiple控 ...
- 模拟select控件功能
直接上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
随机推荐
- grafana安装
1 wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.4-1.x86_64.rpm2 sudo ...
- HttpContext概念讲解
一:HttpContext理论知识: 1:HttpContext类它对Request.Respose.Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用:为继承 IHttpMod ...
- Angular的第一个helloworld
在安装了node,npm,angular-cli,vscode之后,我们来创建一个angular的应用 创建第一个hello world 使用的IDE工具为vscode 打开vscode,打开一个命令 ...
- JavaScript 正则表达式RegExp 和字符串本身的正则表达式
JavaScript 正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex.regexp或RE)使用单个字符串来描述.匹配一系列符合某个句法规则的字符串搜索模 ...
- C# 进程优先级和线程优先级的方法
C# 设置进程优先级的方法 this.process1= Process.GetCurrentProcess(); process1.PriorityClass = ProcessPriorityCl ...
- Hibernate下的增删改查
概述: 关系--对象映射的中间件,属于开源ORM框架,是我们业务逻辑层中的调用数据库的中间件 演变: jdbc---hibernater---mybatis hibernate和mybatis区别? ...
- Oracle时间换算:日,月,周数,星期,年
http://blog.csdn.net/liangweiwei130/article/details/37930383 Oracle时间换算,留做记号!
- 自定义TableViewCell 的方式实现自定义TableView(带源码)
转载于:http://www.cnblogs.com/macroxu-1982/archive/2012/08/30/2664121.html 实现的效果 实现过程 Step One 创建 自定义Ta ...
- Vue.js 的一些小技巧
给 props 属性设置多个类型 这个技巧在开发组件的时候用的较多,为了更大的容错性考虑,同时代码也更加人性化: export default { props: { width: { type: [S ...
- div+css模拟select下拉框
<!DOCTYPE html><html ><head lang="zh"> <meta http-equiv="Content ...