Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > SWT Custom Control Framework
【标  题】:SWT Custom Control Framework
【关键字】:SWT,Custom,Control,Framework
【来  源】:http://taowen.cnblogs.com/archive/2005/03/16/119415.html

SWT Custom Control Framework

Your Ad Here

这是一个计划中的项目。用于方便编写自定义控件。分为两个项目
silver:抽象控件以及框架
iron:使用Silver的具体控件Example
下分3个子项目
silver.control:自定义控件框架
silver.tree:抽象的树型控件
iron.tree:具体的树型控件(将contribute给lumaQQ,界面风格完全模仿QQ和TencentMessenger)
————
自定义控件框架的原理就是MVC。silver.control包含以下的类
SilverModel 通用的模型类
SilverModelListener 通用的模型Listener
SilverView 通用的视图类
SilverViewFactory 视图工厂,用于关联Model与View
SilverControl 中心的控件,用于维护Model与View的关联,以及View的创建
————
由于SWT对于控件parent的可变性的一些限制,我没有把SilverView做成Composite之类的Widget,而是把SilverView作为一个抽象的视图单元,它一方便起到Layout的作用,一方面又维护一个与View相关的控件列表。控件中的所有子控件实际上都是添加到一个最外层的控件上的。而每个SilverView的职责就是摆放好这些小的控件。
————
SilverModel通过SilverModelListener与SilverView相互。SilverView实现了SilverModelListener接口。SilverView在创建时就知道它所对应的SilverModel,但是它需要通过SilverControl才能知道其他SilverModel所对应的SilverView。
————
silver.tree 的目标是创建一个抽象的树型控件。它不包含任何具体的field。只是有一个树型的数据结构,以及一个通用的基础View用来排列将来用户自己写的View。另外它会使用动态代理来动态生成Model的Wrapper,以接触Model与View的强制一一对应。否则一个Model在一棵树中只能被添加一次。
————
iron.tree 在silver.tree的基础上添加自己所需要的Model字段,以及编写几个具体的View,在其中摆放好所需要的表现用控件。最终的效果应该与TencentMessenger或者QQ的联系人列表尽可能的像,并且有完整的动态功能特性。

整体结构上来看非常像Swing。SWT与Swing最大的不同是Swing完全自己画,而SWT只有系统没有才自己画。我觉得这样做出来的控件虽然会比原生控件慢许多,不过灵活性是极其强大的,这种灵活性在某些表现丰富的娱乐类应用是必要的。对于整体的结构把握已经比较清楚了。今天已经实现了iron.tree的abstract.tree,现在不过是把abstract.tree再抽象一次变成一个单独的silver项目。下一步的框架目标应该是支持换肤之类的东西。

放弃 SWT Custom Control Framework :【上一篇】
Google增加反病毒功能:【下一篇】
【相关文章】
  • 放弃 SWT Custom Control Framework
  • .Net Framework 3.0 & C#3.0
  • Customer Oriented
  • SWT的PaintListener
  • SWT里Slider和Scale的区别
  • .Net 2.0 下Container性能比较: Binary Serialize Dataset vs Custom Classes
  • 被玩死系列之三 Information Bridge Framework
  • Information Bridge Framework Training: VPC with Hands-on Labs and Demo
  • 修改IEWebControl适应普通虚拟目录
  • 實現指定控制項的捲動功能 (Scroll Control)
  • 【随机文章】
  • 在MS-DOS下玩转注册表
  • 2007.04.11 Resample优化
  • 属性页(二)
  • dumptest
  • 分布式事务
  • nsswitch.conf与resolv.conf文件介绍
  • 重庆有望造“龙芯三号” 可将电脑价格拉下千元
  • 六合彩博闻记事-六合彩常识
  • 字节流编码获取原来这么复杂,但也很简单
  • C++_Stack
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.