新库tabs(高级选项卡)使用及简单模版样式

By admin at 2018-01-12 • 0人收藏 • 757人看过

blob.png

import win.ui;
import gdip.fontAwesome;
/*DSG{{*/
var winform = win.form(text="aardio form";right=939;bottom=772;bgcolor=3947580;border="none")
winform.add(
plus={cls="plus";text='\uF13B';left=0;top=0;right=120;bottom=43;bgcolor=16095795;color=16777215;dl=1;dt=1;font=LOGFONT(name='FontAwesome';h=-24);z=4};
static2={cls="static";left=121;top=0;right=940;bottom=773;bgcolor=16777215;clip=1;db=1;dl=1;dr=1;dt=1;z=1};
strip1={cls="plus";text='\uF015';left=0;top=48;right=118;bottom=142;bgcolor=3947580;clipch=1;color=16777215;dl=1;dt=1;font=LOGFONT(name='FontAwesome';h=-40);z=2};
strip2={cls="plus";text='\uF290';left=0;top=142;right=118;bottom=236;bgcolor=3947580;clipch=1;color=16777215;dl=1;dt=1;font=LOGFONT(name='FontAwesome';h=-40);z=3}
)
/*}}*/

import win.ui.simpleWindow;
win.ui.simpleWindow(winform)
//创建高级选项卡
import win.ui.tabs;

//至少要添加2个创建好的选项卡(作为设计模板,创建成功后可清除)
var tbs = win.ui.tabs(winform.strip2,winform.strip1);
//指定选项卡的外观样式
tbs.skin(
     background = { 

         disabled = 0xFF3C3C3C; 
     }
    color = {
        hover = 0xFF3a9ff7; 
    }
    checked = {
        color = {
            hover = 0xFF3a9ff7; 
            default = 0xFF3a9ff7; 
        } 
    } 
)
//动态添加更多选项卡
tbs.add(
    text='\uf216'; 
)

//动态添加更多选项卡
tbs.add(
    text='\uf1c5'; 
)

//动态添加更多选项卡
tbs.add(
    text='\uf008';
    hasCloseButton = true;//允许显示关闭按钮 
)
tbs.add(
    text='\uf216'; 
)

//也可以用下面的代码自定义关闭按钮的外观样式
tbs.closeButton.skin(
    background = { 
        hover = 0xFFe35c51; 
        active = 0xFF8f241b;
        default = 0x99FFCC66; 
    }
    color = {
        hover = 0xFFFFFFFF; 
        active = 0xFFEEEEEE;
        default = 0xCCFFFFFF; 
    } 
)

//可以自定义关闭按钮在选项卡上的显示位
tbs.beforeShowCloseButton = function(strip,rcStrip,rcCloseButton){
    return rcStrip.left +5, rcStrip.top + ( rcStrip.height() - rcCloseButton.height() )/2;
}


winform.show();
win.loopMessage();


2 个回复 | 最后更新于 2018-11-21
2018-01-13   #1

loadForm必须明确指定添加到哪个索引, 这个函数备用的,一般不需要再用。


add函数可以用第二个参数开始指定loadForm的参数,这样可以直接加载到指定的选项卡,例如:


//动态添加更多选项卡

tbs.add({

     text="控制台";

     foreground="\res\images\rss.png";

     hasCloseButton = true;//允许关闭

},"\forms\page3.aardio" )


这个窗体不但可以指定一个文件(以及相关调用参数)

也可以直接指定一个winform对象,或者直接指定创建winform的表参数。


这个功能实际上是通过改进custom控件实现,所以custom控件同样支持这个功能


2018-01-13   #2
import win.ui;
import gdip.fontAwesome;
/*DSG{{*/
var mainForm = win.form(text="aardio form";right=939;bottom=750;bgcolor=3947580;border="none")
mainForm.add(
custom2={cls="custom";left=121;top=43;right=939;bottom=750;bgcolor=8421376;db=1;dl=1;dr=1;dt=1;z=4};
plus={cls="plus";text='\uF13B';left=0;top=0;right=120;bottom=43;bgcolor=16095795;color=16777215;dl=1;dt=1;font=LOGFONT(name='FontAwesome';h=-24);z=3};
strip1={cls="plus";text='\uF015';left=0;top=48;right=118;bottom=142;bgcolor=3947580;clipch=1;color=16777215;dl=1;dt=1;font=LOGFONT(name='FontAwesome';h=-40);z=1};
strip2={cls="plus";text='\uF290';left=0;top=142;right=118;bottom=236;bgcolor=3947580;clipch=1;color=16777215;dl=1;dt=1;font=LOGFONT(name='FontAwesome';h=-40);z=2}
)
/*}}*/

import win.ui.simpleWindow;
win.ui.simpleWindow(mainForm,17,47,43)

mainForm.wndproc = function(hwnd,message,wParam,lParam){
        select( message ) { 
                case 0x201/*_WM_LBUTTONDOWN*/{
                        mainForm.hitCaption();
                }
                else{
                        
                }
        }
        //无返回值则继续调用默认回调函数
}


//创建高级选项卡
import win.ui.tabs;

//至少要添加2个创建好的选项卡(作为设计模板,创建成功后可清除)
var tbs = win.ui.tabs(mainForm.strip2,mainForm.strip1);
//指定选项卡的外观样式
tbs.skin(
     background = { 
         disabled = 0xFF3C3C3C; 
     }
    color = {
        hover = 0xFF3a9ff7; 
    }
    checked = {
        color = {
            hover = 0xFF3a9ff7; 
            default = 0xFF3a9ff7; 
        } 
    } 
)
//设置模版项也可以显示关闭按钮
mainForm.strip2.hasCloseButton = true;
//给模版项添加加载的窗体
tbs.loadForm(1,"\res\aa.aardio");
tbs.loadForm(2,"\res\bb.aardio");
//动态添加更多选项卡
tbs.add(
    text='\uf216'; 
)

//动态添加更多选项卡
tbs.add({
    text='\uf1c5';
    },"\res\aa.aardio" 

)

//动态添加更多选项卡
tbs.add(
    text='\uf008';
    hasCloseButton = true;//允许显示关闭按钮 
)


tbs.add(
    text='\uf201';
    
)
//设置默认选中项
tbs.selIndex = 2;

//也可以用下面的代码自定义关闭按钮的外观样式
tbs.closeButton.skin(
    background = { 
        hover = 0xFFe35c51; 
        active = 0xFF8f241b;
        default = 0x99FFCC66; 
    }
    color = {
        hover = 0xFFFFFFFF; 
        active = 0xFFEEEEEE;
        default = 0xCCFFFFFF; 
    } 
)

//可以自定义关闭按钮在选项卡上的显示位
tbs.beforeShowCloseButton = function(strip,rcStrip,rcCloseButton){
    return rcStrip.left +5, rcStrip.top + ( rcStrip.height() - rcCloseButton.height() )/2;
}

import win.ui.simpleWindow

import win.ui.shadow;
win.ui.shadow(mainForm,,10,,);

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


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
Htmlayout皮肤Htmlayout皮肤引擎介绍
黑猫Aar教程网:简码编程
C大Aardio论坛:Aar爱好者论坛
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...