godking.vlistEx.listbar + win.ui.tabs 实现多标签多页面切换

光庆 1天前 141

方法一:

import win.ui;
import godking.vlistEx.listbar;
import fonts.fontAwesome;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=895;bottom=503)
mainForm.add({
custom={cls="custom";text="自定义控件";left=200;top=56;right=880;bottom=496;bgcolor=12639424;border=1;z=4};
plus={cls="plus";left=200;top=8;right=280;bottom=48;bgcolor=32768;forecolor=16711680;hide=1;notify=1;z=2};
plus2={cls="plus";left=288;top=8;right=368;bottom=48;bgcolor=32768;forecolor=16711680;hide=1;notify=1;z=3};
vlistEx={cls="vlistEx";left=8;top=8;right=192;bottom=496;acceptfiles=1;aw=1;border=1;db=1;dl=1;dr=1;dt=1;hscroll=1;vscroll=1;z=1}
})
/*}}*/

//设置导航
var listbar = godking.vlistEx.listbar(mainForm.vlistEx,{
		menuBkColor = 0x71B33C; 		/*菜单背景颜色*/
		menuHoverBkColor = 0xFFB33C;	/*菜单鼠标划过背景颜色*/
		itemBkColor = 0xFFFFFF;			/*项目背景颜色*/
		itemHoverBkColor = 0xEEEEEE;	/*项目鼠标划过背景颜色*/
		itemHeight = 40;				/*项目高度*/
		lineColorH = 0xDDDDDD;			/*横线颜色*/
		bkcolor = 0xFFFFFF;				/*表格背景颜色*/
		single = 0;	 /*菜单单开时默认展开的菜单索引。0是多开默认全展开。无效索引(如-1)则单开默认全不展开。*/
		alwaysOpen = false; 			/*菜单多开时,是否所有菜单项都一直展开,不允许关闭*/
		menuFont=::LOGFONT({name="fontAwesome",h=16,color=0xFFFFFF}); 		/*菜单字体*/
    	menuHoverFont=::LOGFONT({name="fontAwesome",h=16,color=0xFFFFFF});	/*菜单鼠标划过字体*/
    	itemFont=::LOGFONT({name="fontAwesome",h=14,color=0x000000});		/*项目字体*/
    	itemHoverFont=::LOGFONT({name="fontAwesome",h=14,color=0xFF0000});	/*项目鼠标划过字体*/
})
var t = {
    {0," 基本操作"}
    {1,'  \uF0AE 数据录入',{name="数据录入";form="/winform1.aardio"}}
    {1,'  \uF0D0 数据编辑',{name="数据编辑";form="/winform1.aardio"}}
    {1,'  \uF0CC 数据删除',{name="数据删除";form="/winform1.aardio"}}
};
listbar.setItemList(t);

//设置标签
import win.ui.tabs;
var tabs = win.ui.tabs(mainForm.plus,mainForm.plus2);
//tabs.clear()

//定义点击事件
listbar.onClick = function(index/*项目索引*/,text/*项目文本*/,data/*附加数据*/){
	for(tabButton,formPage,tabIndex in tabs.each() ){
		if tabButton.dhid = index {
			tabs.selIndex = tabIndex; // 或者 tabs.selTab = tabButton;
			return ; 
		}
	}
	tabs.selIndex = tabs.add({
		text = data.name;
		dhid = index;
		hasCloseButton = true;
	},data.form)
}

mainForm.show();
win.loopMessage();


方法二:

import win.ui;
import godking.vlistEx.listbar;
import fonts.fontAwesome;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=895;bottom=503)
mainForm.add({
custom={cls="custom";text="自定义控件";left=200;top=56;right=880;bottom=496;bgcolor=12639424;border=1;z=4};
plus={cls="plus";left=200;top=8;right=280;bottom=48;bgcolor=32768;forecolor=16711680;hide=1;notify=1;z=2};
plus2={cls="plus";left=288;top=8;right=368;bottom=48;bgcolor=32768;forecolor=16711680;hide=1;notify=1;z=3};
vlistEx={cls="vlistEx";left=8;top=8;right=192;bottom=496;acceptfiles=1;aw=1;border=1;db=1;dl=1;dr=1;dt=1;hscroll=1;vscroll=1;z=1}
})
/*}}*/

//设置导航
var listbar = godking.vlistEx.listbar(mainForm.vlistEx,{
		menuBkColor = 0x71B33C; 		/*菜单背景颜色*/
		menuHoverBkColor = 0xFFB33C;	/*菜单鼠标划过背景颜色*/
		itemBkColor = 0xFFFFFF;			/*项目背景颜色*/
		itemHoverBkColor = 0xEEEEEE;	/*项目鼠标划过背景颜色*/
		itemHeight = 40;				/*项目高度*/
		lineColorH = 0xDDDDDD;			/*横线颜色*/
		bkcolor = 0xFFFFFF;				/*表格背景颜色*/
		single = 0;	 /*菜单单开时默认展开的菜单索引。0是多开默认全展开。无效索引(如-1)则单开默认全不展开。*/
		alwaysOpen = false; 			/*菜单多开时,是否所有菜单项都一直展开,不允许关闭*/
		menuFont=::LOGFONT({name="fontAwesome",h=16,color=0xFFFFFF}); 		/*菜单字体*/
    	menuHoverFont=::LOGFONT({name="fontAwesome",h=16,color=0xFFFFFF});	/*菜单鼠标划过字体*/
    	itemFont=::LOGFONT({name="fontAwesome",h=14,color=0x000000});		/*项目字体*/
    	itemHoverFont=::LOGFONT({name="fontAwesome",h=14,color=0xFF0000});	/*项目鼠标划过字体*/
})
var t = {
    {0," 基本操作"}
    {1,'  \uF0AE 数据录入',{name="数据录入";form="/winform1.aardio"}}
    {1,'  \uF0D0 数据编辑',{name="数据编辑";form="/winform1.aardio"}}
    {1,'  \uF0CC 数据删除',{name="数据删除";form="/winform1.aardio"}}
};
listbar.setItemList(t);

//设置标签
import win.ui.tabs;
var tabs = win.ui.tabs(mainForm.plus,mainForm.plus2);
//tabs.clear()

//定义点击事件
listbar.onClick = function(index/*项目索引*/,text/*项目文本*/,data/*附加数据*/){
	if !data return ; 
	var index = tabs.indexOfTab(data.tab)
	if !index {
		index = tabs.add({
			text=data.name;
			iconText='\uF0AD';
			hasCloseButton=true;
		},data.form)
		data.tab = tabs.tabList[index];
	}
	tabs.selTab = data.tab;
}

mainForm.show();
win.loopMessage();


最新回复 (3)
  • sdf 1天前
    0 2

    光庆大佬,借楼反馈个问题,在使用虚表clearImg()函数时报错,报错信息出现了你电脑中的地址,帮忙核对一下。

  • 光庆 1天前
    0 3
    sdf 光庆大佬,借楼反馈个问题,在使用虚表clearImg()函数时报错,报错信息出现了你电脑中的地址,帮忙核对一下。
    已经修复,请升级库。
  • sdf 1天前
    0 4
    光庆 已经修复,请升级库。
    感谢!
返回