//用 win.ui.tabs 创建水平"高级选项卡" import fonts.fontAwesome; import win.ui; /*DSG{{*/ var winform = win.form(text="简单多标签浏览器 —— 使用「高级选项卡」实现";right=992;bottom=623;bgcolor=16777215) winform.add( tabBorder={cls="bkplus";left=0;top=33;right=991;bottom=34;bgcolor=32768;border=1;disabled=1;dl=1;dr=1;dt=1;z=1}; tabPanel={cls="custom";left=-2;top=53;right=989;bottom=622;bgcolor=0xFFFFFF;db=1;dl=1;dr=1;dt=1;z=4}; tabPlus1={cls="plus";text="网页开发";left=0;top=2;right=149;bottom=34;bgcolor=0xFFFFFF;border={bottom=1;color=-16744448};dl=1;dt=1;font=LOGFONT(h=-14);z=2}; tabPlus2={cls="plus";text="JavaScript 脚本";left=149;top=2;right=299;bottom=34;bgcolor=0xFFFFFF;border={bottom=1;color=-16744448};dl=1;dt=1;font=LOGFONT(h=-14);z=3} ) /*}}*/ import win.ui.tabs; var tabs = win.ui.tabs(winform.tabPlus1,winform.tabPlus2); tabs.clear(); //清除模板 //选项卡样式 tabs.skin({ foreground={ active=0xFFFFFFFF; default=0x00FFFFFF; hover=0xFFCCCCCC; }; checked={ foreground={ default=0x00FFFFFF; }; border = { default = {left=1;right=1;top=1;color=0xFF008000} disabled = {left=1;right=1;top=1;color=0xFF008000} }; } }); import win.ui.tooltip; var tooltipCtr = win.ui.tooltip( winform );//在窗口上创建tooltip控件 import web.form; tabs.createWebForm = function(url){ //动态添加更多选项卡 var tabIndex = tabs.add(text="正在加载...",hasCloseButton = true) tabs.selIndex = tabIndex;//选中新选项卡 var form = tabs.loadForm(tabIndex); form.show(); var wb = web.form( form ); wb.noScriptErr=true; //获取选项卡按钮 var tab = tabs.tabList[tabIndex]; //绑定选项卡鼠标悬停提示控件 var ti = tooltipCtr.addTool(tab) //网页标题变更时更新选项卡文本与提示 wb.TitleChange = function(title){ tab.text = title; ti.setText( title + '\r\n' + wb.location ); } //自定义网页弹窗 wb.NewWindow3 = function(ppDisp, Cancel,dwFlags,bstrUrlContext, bstrUrl ) { if(dwFlags & 0x10000/*_NWMF_FORCEWINDOW*/ ){ var form = win.form(text="正在加载......";width = 800;height=600); var wb = web.form( form ); form.show(); wb.TitleChange = function(title){ winform.text = title; } return wb.application; } return tabs.createWebForm( "about:blank" ).application; } if(url){ wb.go(url); } return wb; } tabs.createWebForm("http://www.aardio.com"); //也可以用下面的代码自定义关闭按钮的外观样式 tabs.closeButton.skin( background = { hover = 0xFFe35c51; active = 0xFF8f241b; default = 0x99FFCC66; } color = { hover = 0xFFFFFFFF; active = 0xFFEEEEEE; default = 0xCCFFFFFF; } ) //可以自定义关闭按钮在选项卡上的显示位置 tabs.beforeShowCloseButton = function(tabButton,rcTab,rcCloseButton){ return rcTab.right - rcCloseButton.width() - 5, rcTab.top + ( rcTab.height() - rcCloseButton.height() )/2; } winform.show(3/*_SW_MAXIMIZE*/); win.loopMessage();