aardio 文档
aardio 范例: checklist 与 listview 复选框
import win.ui;
/*DSG{{*/
var winform = win.form(text="checklist 与 listview 复选框";right=688;bottom=480;max=false)
winform.add(
checklist={cls="checklist";left=20;top=45;right=666;bottom=156;bgcolor=0xFFFFFF;edge=1;items={};z=1};
listview={cls="listview";left=22;top=193;right=668;bottom=306;bgcolor=0xFFFFFF;edge=1;z=3};
listview2={cls="listview";left=23;top=341;right=669;bottom=454;bgcolor=0xFFFFFF;edge=1;z=5};
static={cls="static";text="checklist 控件(继承自 listview ):";left=22;top=21;right=268;bottom=45;transparent=1;z=2};
static2={cls="static";text="普通 listview,启用 checkbox 属性:";left=24;top=169;right=270;bottom=193;transparent=1;z=4};
static3={cls="static";text="普通 listview,在任意列模拟复选框:";left=25;top=317;right=271;bottom=341;transparent=1;z=6}
)
/*}}*/
// -------- checklist 控件 --------
//checklist 控件继承了 listview 的所有属性与方法
winform.checklist.items = [["测试项目"],["测试项目2"],["测试项目3"]] //二维数组
winform.checklist.addItem("测试项目4")
//项目勾选状态变更触发此事件
winform.checklist.onCheckedChanged = function(checked,item){
if(checked){
winform.static.text = "选中:" + item;
}
else {
winform.static.text = "取消选中:" + item;
}
}
// -------- listview 启用自带复选框(第一列) --------
//启用复选框
winform.listview.checkbox = true;
winform.listview.columns = [
["复选框",100],
["标题",-1/*自适应宽度*/]//自适应列宽度更简单的方法是将列宽度指定为 -1 就可以了
]
winform.listview.items = [["测试项目","标题一"],["测试项目2","标题二"]] //二维数组
// -------- listview 模拟带复选框(任意列) --------
winform.listview2.columns = [
["标题",-1/*自适应宽度*/],
["复选框",100,2/*_LVCFMT_CENTER*/],//第二列开始可以使用_LVCFMT_CENTER居中
]
winform.listview2.items = [["测试项目","⬛"],["测试项目2","☑"]] //二维数组
//listview 单击事件
winform.listview2.onClick = function(item,subItem,nmListView){
if(subItem==2){
/*
如果没有启用选中整行,则不是点击第一列时 item 为 0。
我们可以改用 hitTest 获取实际点击的行号与列号。
*/
var row,col = winform.listview2.hitTest()
var text = winform.listview2.getItemText(row,col);
//模拟复选框:我们让复选框显示在了 listview 的最右侧
winform.listview2.setItemText(text=="⬛" ? "☑" :"⬛",row,col);
}
}
winform.show()
win.loopMessage();
Markdown 格式