aardio - godking.vlistEx.listbar + win.ui.tabs 实现多标签多页面切换
方法一:
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();