aardio 文档
aardio 范例: listview 简单加载动画
import win.ui;
/*DSG{{*/
var winform = win.form(text="listview 简单加载动画";right=688;bottom=303;max=false)
winform.add(
button={cls="button";text="停止动画";left=343;top=244;right=531;bottom=282;z=2};
listview={cls="listview";left=18;top=20;right=664;bottom=232;bgcolor=0xFFFFFF;edge=1;z=1}
)
/*}}*/
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);
}
winform.listview.reduce(
["✶";"✸";"✹";"✺";"✹";"✷"],
function(value,index,length,currentTime){
if(value){
winform.listview.setItemText(value + " 正在处理当前项",1,2);
}
return 150;
}
)
winform.button.oncommand = function(id,event){
winform.listview.reduce(false);
winform.listview.setItemText("✓ 已完成",1,2);
}
//避免 listview 控件频繁刷新时闪烁
winform.listview.enableDoubleBuffering();
winform.show()
win.loopMessage();
Markdown 格式