虚表 - _vlistEx_ColType_OwnerDrawCustom 列类型

光庆 3天前 175

虚表新版本 将customPlus基本功能进行了移植,可使用与customPlus基本相同的定义模式(itemModel 和 itemList),绘制单元格内容。

可以不用懂自绘,就可以自定义单元格图文按钮等混排效果了。

详情参考下面的例子:

import win.ui;
import godking.vlistEx;
/*DSG{{*/
var winform = win.form(text="aardio form";right=391;bottom=407;bgcolor=16777215)
winform.add(
menu={cls="vlistEx";left=8;top=8;right=240;bottom=408;bgcolor=16777215;db=1;dl=1;dr=1;dt=1;z=1}
)
/*}}*/
 
import console
var pagelist = {};
for(i=1;20;1){
        ..table.push(pagelist,{`标题 `++i})
}
winform.menu.setTable(pagelist /*数据表*/,/*列标题*/,/*列宽*/,/*0左1中2右*/,/*字典转为数组*/,/*字符串转为Utf8*/,/*是否克隆新表*/);
winform.menu.setHeaderHeight(0);
var itemModel = {
        {
            type="rect",
            rectf={x=0;y=0;width=-1;height=-1},
            width=0,
            color=0xFFFF0000,
            round=false;
            smooth=false,  
            fillcolor=null,
            itemhoverfillcolor = 0xFFFFEBCD;
        }
     	{
            type="img",
            rectf={x=10;y=10;width=26;height=26},
            name = "checkimg",
            hover = true;
            scale = 1;
        } 
 
    	{
            type="text",
            rectf={x=50;y=0;width=-1;height=-1},
            name="checktext",
            text="哈哈哈";
            align=0,        /* 文本水平对齐方式。0、(近端)左对齐  1、居中  2、(远端)右对齐 */
            valign=1,       /* 文本垂直对齐方式。0、(近端)顶对齐  1、居中  2、(远端)底对齐 */
            smooth=true,    	/* 使用平滑效果,抗锯齿 */
            hover=true;
            font={name="宋体",point=11,color=0xFF0000FF},            /* 正常状态下字体 */
            hoverfont = {name="宋体",point=13,color=0xFFFF0000},     /* 鼠标滑过元素状态下字体 */
        }
        {
            type="line",
            color = 0xFFDDDDDD;
            x1=47;
            y1=5;
            x2=47;
            y2=35;
            width =1;
            smooth=0;
        }                 
}
winform.menu.setColumnType(1/*列号*/,7/*_vlistEx_ColType_OwnerDrawCustom*/,itemModel/*参考godking.customPlus中的itemModel定义规则*/);
winform.menu.setRowHeight(50);
winform.menu.ownerDrawCustom = function (row,col,text/*当前单元格文本*/){
	/* 当列类型为7(_vlistEx_ColType_OwnerDrawCustom)时,调用本函数。
	   通过返回值,设置itemModel中定义的各元素的值,以供虚表进行绘制。
	   返回值格式可参考godking.customPlus中的itemList中项目的定义格式。
	   支持绘制:img、text、rect、line 四种类型的元素。
	   支持定义:正常、hover、itemhover 三种状态的属性值。
	   使用鼠标悬浮的元素,要在itemModel中设置hover=true。
	   建议使用悬浮的各元素的rectf不要部分重叠,可以完全不重叠或完全重叠。*/
    return {checkimg = {
        		img = "D:\图片素材\png\png60_清新网页设计\1 ("++row++").png";
        		hoverimg = "D:\图片素材\png\png60_清新网页设计\1 ("++(row+20)++").png";
    		}
    		checktext = {
    			text = "这是"++row++"行正常状态";
    			hovertext = "这是"++row++"行悬浮状态";
    		}
    }; 
}
winform.show();
win.loopMessage();


最新回复 (1)
返回