虚表功能太多,很多人其实都不会用。
经小肥羊建议,尝试对虚表做二次封装,将某些经常用、好用的功能,封装为一个个独立的小库,小巧方便,非常实用。
也希望有此想法的朋友,封装好了以后分享给我,我集成到虚表库中进行统一发布。
附件为 toolbar 库 V1.2 版,请自行下载。

单行演示代码:
import win.ui;
import godking.vlistEx.toolbar
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
vlistEx={cls="vlistEx";text="自定义控件";left=16;top=16;right=168;bottom=56;z=1}
)
/*}}*/
winform.show();
// 创建实例
var toolbar = godking.vlistEx.toolbar(winform.vlistEx,{
bkcolor = 0xFFFFFF; /*背景颜色*/
bkimage = null;
cellwidth = 60; /*单元格宽度*/
cellheight = 80; /*单元格高度*/
imgpadding = 10;
textpadding = 5;
font={name="宋体",h=12,color=0xFF000000}; /*正常字体*/
hoverfont={name="宋体",h=12,color=0xFFFF0000}; /*鼠标划过字体*/
lineColorH = 0xBBBBBB;
lineColorV = 0xCCCCCC;
})
// 添加图片
import inet.http
import godking.paint
var imgs = godking.paint.splitImage("https://aardio.online/upload/files/20250124/1737707732.png",5,5,0,0,0,0);
for(i=1;#imgs;1){
toolbar.addImg("img"++i/*图片名称*/,imgs[i]/*图片数据*/);
}
//设置项目
toolbar.setItemList ({
"img1|img2|打开",
"img3|img4|编辑",
"img5|img10|视图",
"img6|img11|阅览",
"|",
"img7|img12|打印",
"img8|img13|帮助",
"|",
"img9|img14|关于",
"img15|img16|编辑",
"img17|img18|视图",
"img19|img11|阅览",
"|",
"img20|img12|打印",
"img21|img13|帮助",
"|",
"img22|img14|关于",
})
// 定义点击事件
toolbar.onClick = function(row/*行号*/,col/*列号*/,text/*项目文本*/){
..win.msgbox("您点击了第"++col++"个:"++text);
}
win.loopMessage();
多行演示:

多行演示代码:
import win.ui;
import godking.vlistEx.toolbar
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
vlistEx={cls="vlistEx";text="自定义控件";left=16;top=16;right=168;bottom=56;z=1}
)
/*}}*/
winform.show();
// 创建实例
var toolbar = godking.vlistEx.toolbar(winform.vlistEx,{
bkcolor = 0xFFFFFF; /*背景颜色*/
bkimage = null;
cellwidth = 60; /*单元格宽度*/
cellheight = 80; /*单元格高度*/
imgpadding = 10;
textpadding = 5;
font={name="宋体",h=12,color=0xFF000000}; /*正常字体*/
hoverfont={name="宋体",h=12,color=0xFFFF0000}; /*鼠标划过字体*/
lineColorH = 0xBBBBBB;
lineColorV = 0xCCCCCC;
})
// 添加图片
import inet.http
import godking.paint
var imgs = godking.paint.splitImage("https://aardio.online/upload/files/20250124/1737707732.png",5,5,0,0,0,0);
for(i=1;#imgs;1){
toolbar.addImg("img"++i/*图片名称*/,imgs[i]/*图片数据*/);
}
//设置项目
toolbar.setItemList ({
"img1|img2|打开",
"img3|img4|编辑",
"img5|img10|视图",
"img6|img11|阅览",
"||",
"img7|img12|打印",
"img8|img13|帮助"
},
{
"img9|img14|关于",
"img15|img16|编辑",
"||",
"img20|img12|打印",
"img21|img13|帮助",
"||",
"img22|img14|关于",
})
// 定义点击事件
toolbar.onClick = function(row/*行号*/,col/*列号*/,text/*项目文本*/){
..win.msgbox("您点击了第"++row++"行,第"++col++"个:"++text);
}
win.loopMessage();
竖向演示:

竖向演示代码:
import win.ui;
import godking.vlistEx.toolbar
/*DSG{{*/
var winform = win.form(text="aardio form";right=639;bottom=647)
winform.add(
vlistEx={cls="vlistEx";text="自定义控件";left=16;top=16;right=168;bottom=56;z=1}
)
/*}}*/
// 创建实例
var toolbar = godking.vlistEx.toolbar(winform.vlistEx,{
bkcolor = 0xFFFFFF; /*背景颜色*/
bkimage = null;
cellwidth = 60; /*单元格宽度*/
cellheight = 80; /*单元格高度*/
imgpadding = 10;
textpadding = 5;
font={name="宋体",h=12,color=0xFF000000}; /*正常字体*/
hoverfont={name="宋体",h=12,color=0xFFFF0000}; /*鼠标划过字体*/
lineColorH = 0xBBBBBB;
lineColorV = 0xCCCCCC;
})
// 添加图片
import inet.http
import godking.paint
var imgs = godking.paint.splitImage("https://aardio.online/upload/files/20250124/1737707732.png",5,5,0,0,0,0);
for(i=1;#imgs;1){
toolbar.addImg("img"++i/*图片名称*/,imgs[i]/*图片数据*/);
}
//设置项目
toolbar.setItemList ( {"img1|img2|打开"},
{"img3|img4|编辑"},
{"img5|img10|视图"},
{"img6|img11|阅览"},
{"img7|img12|打印"},
{"img8|img13|帮助"},
{"img9|img14|关于"},
)
// 定义点击事件
toolbar.onClick = function(row/*行号*/,col/*列号*/,text/*项目文本*/){
..win.msgbox("您点击了第"++row++"个:"++text);
}
winform.show();
win.loopMessage();
图片背景演示:

图片背景演示代码:
import win.ui;
import godking.vlistEx.toolbar
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469;image=$"E:\壁纸\1 (2)_看图王.jpg")
winform.add(
vlistEx={cls="vlistEx";text="自定义控件";left=0;top=0;right=152;bottom=40;z=1}
)
/*}}*/
// 创建实例
var toolbar = godking.vlistEx.toolbar(winform.vlistEx,{
bkcolor = 0xFFFFFF; /*表格背景颜色*/
bkimage = "E:\壁纸\1 (2)_看图王.jpg"; /*表格背景图片*/
cellwidth = 60; /*单元格宽度*/
cellheight = 80; /*单元格高度*/
imgpadding = 10; /*单元格图片空白边距*/
textpadding = 5; /*单元格文本空白边距*/
font={name="宋体",h=12,color=0xFF000000}; /*正常字体*/
hoverfont={name="宋体",h=12,color=0xFFFFFFFF}; /*鼠标划过字体*/
lineColorH = 0xBBBBBB;
lineColorV = 0xCCCCCC;
})
// 添加图片
import inet.http
import godking.paint
var imgs = godking.paint.splitImage("https://aardio.online/upload/files/20250124/1737707732.png",5,5,0,0,0,0);
for(i=1;#imgs;1){
toolbar.addImg("img"++i/*图片名称*/,imgs[i]/*图片数据*/);
}
//设置项目
toolbar.setItemList ({
"img1|img2|打开视图",
"img3|img4|编辑",
"img5|img10|视图",
"img6|img11|阅览",
"|",
"img7|img12|打印",
"img8|img13|帮助",
"|",
"img9|img14|关于"
})
// 定义点击事件
toolbar.onClick = function(row/*行号*/,col/*列号*/,text/*项目文本*/){
..win.msgbox("您点击了第"++col++"个:"++text);
}
winform.show();
win.loopMessage();