新库tabs(高级选项卡)使用及简单模版样式
By
admin
at 2018-01-12 • 1人收藏 • 2754人看过
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控件同样支持这个功能