新库tabs(高级选项卡)使用及简单模版样式
By
admin
at 2018-01-12 • 1人收藏 • 2893人看过

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
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();登录后方可回帖
loadForm必须明确指定添加到哪个索引, 这个函数备用的,一般不需要再用。
add函数可以用第二个参数开始指定loadForm的参数,这样可以直接加载到指定的选项卡,例如:
//动态添加更多选项卡
tbs.add({
text="控制台";
foreground="\res\images\rss.png";
hasCloseButton = true;//允许关闭
},"\forms\page3.aardio" )
这个窗体不但可以指定一个文件(以及相关调用参数)
也可以直接指定一个winform对象,或者直接指定创建winform的表参数。
这个功能实际上是通过改进custom控件实现,所以custom控件同样支持这个功能