aardio 文档
aardio 范例: listview 内部模拟进度条
BT 下载进度条
// listview 内部模拟进度条
// BT 下载进度条: https://www.aardio.com/zh-cn/doc/example/Network/Transfer/bt.win.html
import win.ui;
/*DSG{{*/
var winform = win.form(text="listview 内部模拟进度条";right=688;bottom=303;max=false)
winform.add(
listview={cls="listview";left=18;top=20;right=664;bottom=277;bgcolor=0xFFFFFF;edge=1;z=1}
)
/*}}*/
// -------- listview 模拟带复选框(任意列) --------
winform.listview.columns = [
["标题",150],
["进度条",-1/*自适应宽度*/]
]
winform.listview.items = [["测试项目",""],["测试项目2",""]] //二维数组
//在 listview 里用纯文本模仿进度条效果
function textProgressBar(current, total, length = 20){
var percent = current / total;
var filled = math.floor(length * percent);
var bar = string.repeat(filled,"▓") + string.repeat(length - filled,"░");
return string.format(percent<10?'%s %.1f%%':'%s %.0f%%', bar, percent * 100);
}
var pos = 1;
winform.setInterval(
function(){
pos++;
if(pos>100) return false;
var bar = textProgressBar(pos,100)
winform.listview.setItemText(bar,1,2);
var bar = textProgressBar(100-pos,100)
winform.listview.setItemText(bar,2,2);
},100
)
//避免 listview 控件频繁刷新时闪烁
winform.listview.enableDoubleBuffering();
winform.show()
win.loopMessage();
Markdown 格式