在HTMLayout中嵌入webform浏览器,推荐用下面的方法更简单一些。
( 工程范例里的ribbon用的方法不是很好,因为当时web.layout支持的功能还很有限)
//自定义控件
import win.ui;
/*DSG{{*/
var winform = ..win.form( bottom=523;parent=...;right=789;border="resizable";text="HTMLayout 自定义控件" )
winform.add( )
/*}}*/
import web.layout;
var wbLayout = web.layout(winform );
import web.layout.debug;
wbLayout.attachEventHandler( web.layout.debug );
import web.form;
wbLayout.onControlCreated = function( ltEle,ltCtrl ){
var url = ltEle["data-url"];
if(url){
wb = ..web.form( ltCtrl,0x4/*_UIFLAG_NO3DBORDER*/, ,true/*securityTrusted*/ )
wb.go(url)
ltEle.onSize = function (ltEle) {
ltCtrl.adjust();
}
ltEle.attachEventHandler();
}
}
//在HTML中引用的控件,需要使用import语句导入aardio
import win.ui.ctrl.static;
import win.ui.ctrl.richedit;
wbLayout.html =/***
<body>
<span style="font:system">
自定义控件很简单,在input,object,widget三种节点中使用cls属性指定控件类名即可,<br />
可选在data-table属性中使用一个table对象指定控件初始化参数 <br />
</span>
<input cls="richedit" data-table="{ text='控件文本';multiline=true }" id="edit" style="font-size:9pt;width:100%; height:50px;"></object>
<widget cls="static" data-url="http://www.baidu.com" style="width:100%%;height:100%%;"></widget>
widget可以指定相对高度,input,object因为被包含在匿名节点中,无法指定相对高度
</body>
***/
wbLayout.css = /**
body{
margin:20px;
height:100%%;
font:system;
}
**/
winform.show();
win.loopMessage();
|