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

发布于:2025-05-14 ⋅ 阅读:(12) ⋅ 点赞:(0)

方法一:

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();


网站公告

今日签到

点亮在社区的每一天
去签到