虚表库经过我本人(光庆)的不断升级,已经成为了一个非常好用的库,特别是对于aardio来说,没有典型的表格组件,我这个虚表就显得比较有用了。

上一个版本的虚表,只支持文字处理,不支持图片,整体效果偏素净。

这个版本,进行了全面升级,内核做了全面修改,着重加强了对图片的支持、文字图片混合排版。

这个版本,效果偏靓丽。

库文件下载安装:

http://chengxu.online → aardio资源下载 → vlistEx.rar

解压缩后目录放到 /lib/godking/ 目录即可。

注意:需将老版本 /lib/godking/vlistEx.aardio 删除

先看效果:

动态效果:

图片调用格式:

<img name="pic1",w=30,h=20,scale=true,full=false>

关键词解释:

<img name="">:嵌入图片标识,分为两部分:以 "<img name=" 开头,以 ">" 结尾,中间为图片参数。

name:图片名称,使用 addImg(name,data) 添加的图片name。

w:图片宽度。大于1为像素值,0到1为比例值,按照单元格有效区域宽高计算,1为100%

h:图片高度。大于1为像素值,0到1为比例值,按照单元格有效区域宽高计算,1为100%

scale:是否按比例进行缩放。如果为 ture 则在w和h范围内,按比例缩放到合适大小。如果为 false 则在w和h范围内拉伸填满。

full:是否填满单元格。如果为 true,则忽略w、h设置,并自动根据单元格宽度、高度、scale设置进行绘制。full时,图片不占用单元格内容宽度。放置于单元格内容的开始(最先绘制),可以当做单元格背景。放置于单元格内容末尾(最后绘制),可以当做单元格前景。

使用文档:

1、使用图片前,先添加图片:

使用图片前,需要先添加指定名称的图片,引用时只需要提供图片名称即可。

图片添加时,可指定图片大小、是否覆盖等设置。

添加方法如下:

// 1、从文件添加一个名称为 “name1” 的图片:
mainForm.listview.addImg( "name1", "~\doc.png", false, 20, 20 );// 2、从内存数据添加一个名称为 “name2” 的图片:
var buffer = ..string.load("/res/doc.png");
mainForm.listview.addImg( "name2", buffer );

2、将图片嵌入单元格内容或表头内容:

只需按图片调用格式,将文本和图片任意混合排版即可,支持单元格内容和表头内容。

var cellText = "文本<img name='name1',w=20,h=20,scale=true>图片<img name='name2',w=20,h=20,scale=true>混合排版"

效果如下:

其中图片宽度和高度,可以用0-1之间的数值,代表单元格有效(不包含padding)宽度、高度的比例值,如:

var cellText = "<img name='pro',w=0.3,h=20> 60%"

效果如下:

有了图片,就可以将单元格模拟为按钮、进度条等各种非常漂亮的组件了。

3、将图片作为单元格背景或前景:

作为背景图:

var cellText = "<img name='bk',full=true>我有背景图";

将图片放到单元格文本的开头位置,并设置 full=true 就作为单元格的背景图了。

背景图不需要设置w和h,需要的话设置一下 scale 即可。

效果:

作为前景图:

var cellText = "<img name='bk',full=true>我有背景图和前景图<img name='fk',full=true>";

将图片放到单元格文本末尾位置,并设置 full=true 就作为单元格的前景图了。

设置方法跟背景图一致。

效果如下,第一张为按比例缩放的心形png透明图,第二张为拉伸的左右渐变的透明图,第三张为拉伸的心形:

4、将图片作为表头排序图标:

表头排序图标,总是放在表头内容后面。设置方法如下:

mainForm.listview.setSortMark(" <img name='asc',w=10,h=20>" /*升序符号*/,
" <img name='desc',w=10,h=20>" /*降序符号*/,
" <img name='normal',w=10,h=20>" /*默认符号*/)

效果如下:

5、将图片作为 checkBox 图标:

可以通过设置 checkBox.checkedImg 和 checkBox.unCheckedImg 属性为对应的图片名称,来设置选中和非选中状态下的图片:

mainForm.listview.checkBox.checkedImg = "checked";
mainForm.listview.checkBox.unCheckedImg = "unchecked";

效果如下:

6、将图片作为树形节点图片:

通过设置 tree.nodeImg 属性,为树形节点设置图片。不设置图片时,默认在节点周围画方框。

mainForm.listview.tree.nodeImg = "icon"

效果如下:

一个比较完整的图片系列调用代码:

import win.ui;
import godking.vlistEx;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=759;bottom=449)
mainForm.add(
listview={cls="vlistEx";left=10;top=10;right=749;bottom=440;acceptfiles=1;aw=1;db=1;dl=1;dr=1;dt=1;hscroll=1;vscroll=1;z=1}
)
/*}}*/mainForm.listview.addImg("icon","E:\图片素材\png\png32_96个蛮实用的png格式图标\Credit card.png")
mainForm.listview.addImg("alert","E:\图片素材\png\png32_常用图标\alert.png")
mainForm.listview.addImg("on","C:\Users\Administrator\Desktop\on.png")
mainForm.listview.addImg("off","C:\Users\Administrator\Desktop\off.png")
mainForm.listview.addImg("pro","C:\Users\Administrator\Desktop\pro.png",,50,20)
mainForm.listview.addImg("bk","E:\图片素材\png\png_花边纸底纹\花边\frame3_bc_happytime.png",,50,20)mainForm.listview.addImg("1","E:\图片素材\png\png32_96个蛮实用的png格式图标\copy doc.png")
mainForm.listview.addImg("2","E:\图片素材\png\png32_96个蛮实用的png格式图标\Picture Cast.png")
mainForm.listview.addImg("3","E:\图片素材\png\png32_96个蛮实用的png格式图标\splash green.png")
mainForm.listview.addImg("4","E:\图片素材\png\png32_96个蛮实用的png格式图标\window.png")
mainForm.listview.addImg("5","E:\图片素材\png\png32_96个蛮实用的png格式图标\unread mail.png")mainForm.listview.headerAlign = 1
mainForm.listview.checkBox.show = true
mainForm.listview.headerBkcolor = 0xDDEEFF;
var t = {}
var tree = 0;
for(i=1;10000;1){..table.push(t,{"[@rowindex]","文本<img name='alert',w=20,h=20,scale=true>图片<img name='icon',w=20,h=20,scale=true>混合排版","<img name='pro',w="+i/100*0.6+",h=20,scale=0> "++i++"%","<img name='off',w=50,h=20,scale=1>","<img name='bk',full=true>我有背景图","[@treeLevel]" =tree; })//使用行索引标识符if tree ==0 tree=math.random(0,1);elseif tree==5  tree=math.random(4,5);else  tree=math.random(tree-1,tree+1);
}
mainForm.listview.setTable(t)
mainForm.listview.tree.show = 1
mainForm.listview.tree.nodeSize=16
mainForm.listview.tree.nodeImg = "3"
mainForm.listview.refreshTree();
mainForm.listview.setColumns({"<img name='1',w=20,h=20,scale=1> 编号","<img name='2',w=20,h=20,scale=1> 文本 + 图片","<img name='3',w=20,h=20,scale=1> 模拟进度","<img name='4',w=20,h=20,scale=1> 开关","<img name='5',w=20,h=20,scale=1> 背景图"},{180,180,100,70,130},{0,0,0,1,1})
mainForm.show();
mainForm.listview.onClick = function(row/*行*/,col/*列*/){/*鼠标左键点击项目事件*/if col==4{if mainForm.listview.getCellImg(row,col)=='on' mainForm.listview.setCellImg(row,col,'off');else  mainForm.listview.setCellImg(row,col,'on');}
}
win.loopMessage();

aardio - 虚表库全新升级,支持图片系列专题相关推荐

  1. 最新彩虹外链网盘V5.1版网站源码 全新界面 支持图片违规检测

    介绍: 彩虹外链网盘,是一款PHP网盘与外链分享程序,支持所有格式文件的上传,可以生成文件外链.图片外链.音乐视频外链,生成外链同时自动生成相应的UBB代码和HTML代码,还可支持文本.图片.音乐.视 ...

  2. 彩虹外链网盘 全新界面 支持图片违规检测

    源码介绍: 外链网盘,是一款网盘与外链分享,支持所有格式文件的上传,可以生成文件外链.片外链.外链,生成外链同时自动生成相应的UBB代码和代码,还可支持文本.片..预览,这不仅仅是一个网盘,更是一个床 ...

  3. 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1

    摘要: 全球开源区块链领域影响最为广泛的Hyperledger Fabric日前宣布了1.1版本的正式发布,带来了一系列丰富的新功能以及在安全性.性能与扩展性等方面的显著提升.阿里云容器服务区块链解决 ...

  4. iTOP-4412开发板全新升级支持4G全网通模块

    开发板支持4G,GPS,CAN,485,WIFI蓝牙,重力加速度计,陀螺仪等模块. 核心板参数 尺寸:6cm*7cm 高度:连同连接器在内0.26cm CPU:Exynos4412,四核Cortex- ...

  5. okgo 缓存html,okhttp-OkGo OkHttpUtils-2.0.0 升级后改名 OkGo,全新完美支持 RxJava,比 Retro @codeKK Android开源站...

    工程结构全新优化 支持 RxJava 支持 RxJava2 支持自定义缓存策略 支持下载管理 支持上传管理 该库部分思想借鉴了以下项目: 在此特别感谢上述作者,喜欢原作的可以去使用原项目.同时欢迎大家 ...

  6. OkHttpUtils-2.0.0 升级后改名 OkGo,全新完美支持 RxJava,比 Retrofit 更简单易用。

    okhttp-OkGo 项目地址:jeasonlzy/okhttp-OkGo 简介:OkHttpUtils-2.0.0 升级后改名 OkGo,全新完美支持 RxJava,比 Retrofit 更简单易 ...

  7. harmonyOS智慧屏,华为智慧屏S系列发布 宣布HarmonyOS全新升级

    华为今日召开了今年最后一次华为全屋智能及智慧屏新品发布会,宣布华为在智能家居.全屋智能.智慧屏和车载领域再进一步. 在智慧屏 X 系列和 V 系列的基础上再次推出了全新的 S 系列产品,定位类似于华为 ...

  8. 小程序源码:修复图片音频全新升级带特效喝酒神器小游戏微信小程序

    这是一款全新升级带特效喝酒神器小游戏微信小程序源码 小编发现很多喝酒神器小程序都不带特效和音效的 感觉差了那么一点意思而且感觉也不炫酷 所以小编今天给大家带来一款带特效,音效炫酷的喝酒神器 该款神器由 ...

  9. 微信小程序:修复图片音频全新升级带特效喝酒神器源码

    这是一款全新升级带特效喝酒神器小游戏微信小程序源码 小编发现很多喝酒神器小程序都不带特效和音效的 感觉差了那么一点意思而且感觉也不炫酷 所以小编今天给大家带来一款带特效,音效炫酷的喝酒神器 该款神器由 ...

最新文章

  1. HTML5 音频视频
  2. c语言巩固,巩固一下C语言中的指针
  3. 香港买thinkpad大陆使用,大陆可以享受售后服务吗
  4. GVRP、VCMP、VTP、DTP——全网最完整的总结
  5. git cherry pick用法
  6. QFIL的烧录、读写
  7. Bugku—凯撒部长的奖励
  8. 怎样用VR看分频视频?
  9. 贪吃的九头龙(tyvj P1523)
  10. Markdown 自动生成目录
  11. 批规范化 Batch Normalization
  12. 小闫陪你入门 Java (二)
  13. Set的insert操作
  14. linux驱动面试题整理
  15. 序列比对(四)——Smith-Waterman算法之仿射罚分
  16. 智能车的“耳朵”电磁检测传感器
  17. 敏捷开发 SOLID 原则
  18. PPT转PDF怎么转?这几种转换小技巧轻松拿捏
  19. 下载安装EasyConnect
  20. php搜索引擎详细代码

热门文章

  1. 【Redis学习】:string数据类型详解
  2. 中国石油大学(北京)-《思想道德修养与法律基础#》第一阶段在线作业
  3. 计算机滴滴响重启,电脑发出滴滴声是什么原因(常见的4个故障和解决方法)...
  4. Tapd+腾讯工蜂+Jenkins持续部署
  5. 怎么把m4a转换成mp3格式?
  6. 32位和64位版本的Office异同点
  7. Tablayout初始全部不选中,初始默认选中一个,初始全部选中的设置
  8. 台积电、高通“示好”华为:恢复供货?
  9. 基于JavaSwing开发天猫购物商城系统(用户 管理员角色) 课程设计 毕业设计源码
  10. c语言程序 计算离高考天数,用c++程序计算一个孩子从出生到高考需要多少天