【实战项目】【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 ...
随机推荐
- AOE网与AOV网
因为有人无端怀疑此博客为抄袭, 且作者写作此博客时仅为应试之用,今毕业已久此文章已无用处 故删除文章,不想再无故受到打扰 祝好
- Firebird 手动安装 Legacy_Auth 登陆认证
下载官方发布的最新版本:V3.0.4 或者下载还没正式发布的下个版本(但已经修复了一些bug):V3.0.5 下载后解压缩,修改配置文件Firebird.conf的登陆认证为Legacy_Auth:这 ...
- 图片切换(timer控件与ImagesList结合使用)
private void Form3_Load(object sender, EventArgs e) { //打开窗体的时候显示第一张图片 this.pictureBox1.Image = this ...
- 量子猴排(Quantum Bogo sort)
排序原理 原理很简单,如果数组不是有序的,就洗一次牌,直至数组有序为止 时间复杂度 最佳情况O(n),平均情况O(n×n!) 代码如下: import java.util.Random; public ...
- Oracle扩容日志文件
0.检查当前数据库日志切换频率 select * from v$log_history where first_time>=to_date('2017-10-18','yyyy-mm-dd') ...
- set集合去重机制
- 给model模型传数组参数
$res = $this->Company->companyDischarge($this->user_id,array(0=>'c.limit_sum>0',1=> ...
- Mysql InnoDB的四个事务隔离级别和(分别逐级解决的问题)脏读,不可重复读,虚读
MySqlInnoDB的事务隔离级别有四个:(默认是可重复读repeatable read) 未提交读 read uncommit : 在另一个事务修改了数据,但尚未提交,在本事务中SELECT语句可 ...
- Android的onCreateOptionsMenu()创建菜单Menu
android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜 ...
- ArrayMap代替HashMap
ArrayMap是一个<key,value>映射的数据结构,它设计上更多的是考虑内存的优化,内部是使用两个数组进行数据存储,一个数组记录key的hash值,另外一个数组记录Value值,它 ...