1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| import win.ui;
var winform = win.form(text="listview中添加进度条演示";right=945;bottom=474) winform.add( button={cls="button";text="(点击这里随机更新一次第二行的进度值)";left=0;top=392;right=944;bottom=472;font=LOGFONT(h=-21);z=2}; 流程编辑框={cls="listview";left=0;top=0;right=946;bottom=384;edge=1;font=LOGFONT(h=-19;name='FontAwesome');fullRow=1;vscroll=1;z=1} )
import win.fontAwesome; import win.graphics; import win.imageList; var imagelist = win.imageList(5,34); winform.流程编辑框.setImageList( imagelist,1 ); winform.流程编辑框.insertColumn("",30,,0x2) winform.流程编辑框.insertColumn("中断",80,,0x2) winform.流程编辑框.insertColumn("备注",300,,0x0) winform.流程编辑框.insertColumn("功能",100,,0x0) winform.流程编辑框.insertColumn("参数",300,,0x0) winform.流程编辑框.insertColumn("",30,,0x2) winform.流程编辑框.insertColumn("",1,,0x2)
winform.流程编辑框.adjust = function(cx,cy){ winform.流程编辑框.fillParent(5); } winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';30;"直线运动";'{["速度"]=1000;["模式"]="相对运动";["距离"]="2380";["是否等待"]="否";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00d';'\uF05e';100;"直线运动";'{["速度"]=300;["模式"]="连续运动";["是否等待"]="是";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';200;"调用子程序";'{["调用子程序"]="连续读传感器";["是否等待"]="是";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';50;"调用子程序";'{["调用子程序"]="回字形对准算法";["是否等待"]="是";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';150;"直线运动";'{["速度"]=1000;["模式"]="相对运动";["距离"]="2380";["是否等待"]="否";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';120;"直线运动";'{["速度"]=1000;["模式"]="相对运动";["距离"]="2380";["是否等待"]="否";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00d';'\uF05e';10;"直线运动";'{["速度"]=300;["模式"]="连续运动";["是否等待"]="是";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';70;"调用子程序";'{["调用子程序"]="连续读传感器";["是否等待"]="是";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';260;"调用子程序";'{["调用子程序"]="回字形对准算法";["是否等待"]="是";}';'\uF01a'} } ) winform.流程编辑框.addItem( { text={'\uF00c';'\uF1db';130;"直线运动";'{["速度"]=1000;["模式"]="相对运动";["距离"]="2380";["是否等待"]="否";}';'\uF01a'} } )
winform.流程编辑框.onnotify = function(id,code,ptr){ if( code == 0xFFFFFFF4 ){ var lvcd = winform.流程编辑框.getNotifyCustomDraw(code,ptr); if( lvcd.nmcd.dwDrawStage == 0x10001) return 0x20 elseif( lvcd.nmcd.dwDrawStage == 1 ){ return 0x20; } elseif( lvcd.nmcd.dwDrawStage == ( 0x10001 | 0x20000) ){ var cvs = win.graphics.canvas(); cvs.fromHDC(lvcd.nmcd.hdc); var nItem = lvcd.nmcd.dwItemSpec+1; var nSubItem = lvcd.iSubItem; var rc = owner.getItemRect(nItem,nSubItem); if(nSubItem == 3){ var RetRc = ::RECT(rc.left+1,rc.top+6,rc.right-tonumber(owner.getItemText(nItem,3)),rc.bottom-6); cvs.brush.color = 0x00ff00; cvs.fillRect(RetRc) } cvs.pen.color = 0xebebeb; cvs.drawEdge(rc); lvcd.update() cvs.destroy(); return 0 } } }
winform.button.oncommand = function(id,event){ winform.流程编辑框.setItemText(tostring(math.random(10,280)),2,3); } winform.show() win.loopMessage();
|