Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1427564
  • 博文数量: 430
  • 博客积分: 9995
  • 博客等级: 中将
  • 技术积分: 4388
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-24 18:04
文章存档

2013年(1)

2008年(2)

2007年(14)

2006年(413)

分类:

2006-06-13 16:39:20

基 于MINIGUI的C++开发库(LVCL)已经出了测试版本了,当前封装了MINIGUI的标准控件(Button,CheckBox, RadioBox,SLEdit, MLedit,ListBox,form),另外实现了控件(Panel,Label,Image),当前版本对标准控件的支持还不是很完善,将在正式版 本中完善这些功能,由于MINIGUI头文件中部分函数以宏定义的方式体现的,与类的接口名字相同,所以,修改了MINIGUI的头文件,将其改为 inline函数,另外,由于VC6.0对template的支持不是很好,所以选用了C++builder6作为演示编译环境,在windows下 (minigui1.6.8-widnows)可以直接看到运行结果,在GCC下也可以直接编译,在linux下运行。大家如果有需要的话,可以访问我的 博客网站,下载最新的开发源码包,希望对大家会有帮助。

地址:  --- (06-01-19日修改,原来的博客出问题了,新申请了一个)

当前开发包下载地址(博客网上也有):inc/FrameWork-06-01-19.rar ( 06-01-19日修改)

注:本开发包遵循GPL协议,开放源码,个人可以随便使用,如果要将其商业化,请联系本人。


LVCL年前的最终版本已经做好,为0.10版本.相关说明如下:

一.当前版本存在的问题:

(1) window句柄没有延迟创建,导致子类化不够灵活,比如Tform

(2) window句柄和对象指针的映射采用类静态链表的方式搜索,导致在继承子类的时候必须   定义相应静态结构,另外映射效率也不够高,解决办法已找到,下一版本将采用哈西表的形式实现.

(3) 当前控件的创建采用的是静态构造,采用缺省构着函数,不够高效,且创建逻辑不合理,应该采用动态创建方式,且必须以容器为参数创建,将在下一版本中解决,

(4) 没有对创建对象的内存进行管理.当前已实现了高效的堆内存分配器,将在下一版本中应用于对象的创建,便于内存管理.

(5) Ext控件库没有集成,下一版本将做集成,Stand控件库没有继承ToolBar对象,原因是还没有实现TImageList(位图列表)类,Toolbar的图标资源将以ImageList对象的形式聚合.将在下以版本集成.

(6) 对VC6.0的支持不好,主要是VC6.0不支持模板偏特化,解决办法已找到,将在下一版本改进,使用VC6.0作为调试环境.

(7) 对没有定点输入设备(如鼠标)的系统支持不够,此种系统中将要派生出众多的GraphicControl控件,以及具有更多管理功能的form子类.技术已解决,将在下一版本集成.

(8) 没有对控件的属性进行集中管理,导致界面布局及部分属性与程序代码关系紧密,已经找到代码属性分离的方法,将作为LVCL的辅助框架出现,实现界面的配置管理功能,并以此为基础实现简单的UI设计IDE.

(9) 相关文档缺乏,将陆续推出.


二. 当前版本封装了Stand库中的大部分控件:

Button      --- 当前不支持 图片资源
CheckBox    --- 完全支持
RadioBox    --- 完全支持
ListBox     --- 当前不支持多选,内嵌CheckBox
ComboBox    --- 当前不支持内嵌的位图资源.
SLEdit      --- 不支持对选中文本部分的操作
MLEdit      --- 不支持对选中文本部分的操作
ProgressBar --- 完全支持
TrackBar    --- 完全支持
Image       --- 自己实现
Label       --- 自己实现,未对文本对齐方式做接口
Panel       --- 自己实现,实现对子控件的通用管理功能.
form        --- 自己实现,实现了MainWindow.


三.下载:

最新的源码包地址为:inc/FrameWork-06-01-22.rar

前几天的版本都在 上,也可以下载.


阅读(1374) | 评论(0) | 转发(0) |
0

上一篇:MiniGUI

下一篇:进程和线程编程

给主人留下些什么吧!~~