如下代码所示,我建立了父子窗体,均使用htmlayout,现在可以实现在子窗体中修改父窗体上的button的text,但是想修改htmlayout里面的那个button怎么写,主要不知道怎样在子窗体中得到父窗体htmlayout里的节点
父窗体代码
import win.ui;
/*DSG{{*/
var winform = ..win.form( text="HTMLayout 无边框窗口演示";bottom=422;parent=...;right=654;border="resizable" )
winform.add(
button={ bottom=355;text="button";left=116;top=331;z=1;right=220;cls="button" }
)
/*}}*/
import web.layout;
import web.layout.behavior.windowSizer;//支持拖动边框
import web.layout.behavior.windowCommand;//支持标题栏按钮
wbLayout = web.layout( winform )
wbLayout.html = /**
<html>
<head>
</head>
<body>
<button id="openChild">打开新窗口</button>
</body>
</html>
**/
wbLayout.css = /**
@const BORDER_COLOR: #245E82;
@const CLIENT_COLOR: #EFF7FC;
body {
margin: 0;
border: 1px solid @BORDER_COLOR;
border-radius: 4px;
background: @CLIENT_COLOR;
}
**/
//圆角窗口
import win.util.round;
win.util.round(winform)
wbLayout.onButtonClick = function (ltTarget,ltEle,reason,behaviorParams) {
if(ltEle.id="openChild"){
child=winform.loadForm("/child.aardio")
child.doModal(winform)
}
}
winform.show()
win.loopMessage();
return winform;
子窗体代码
@
import win.ui;
/*DSG{{*/
var child = ..win.form( right=172;bottom=118;parent=...;text="aardio Form";border="resizable" )
child.add( )
/*}}*/
import web.layout;
import web.layout.behavior.windowSizer;//支持拖动边框
import web.layout.behavior.windowCommand;//支持标题栏按钮
wbLayout = web.layout( child )
wbLayout.html = /**
<html>
<head>
</head>
<body>
<button>修改父窗口</button>
</body>
</html>
**/
wbLayout.css = /**
@const BORDER_COLOR: #245E82;
@const CLIENT_COLOR: #EFF7FC;
body {
margin: 0;
border: 1px solid @BORDER_COLOR;
border-radius: 4px;
background: @CLIENT_COLOR;
}
**/
import win.util.round;
win.util.round(child)
wbLayout.onButtonClick = function (ltTarget,ltEle,reason,behaviorParams) {
child.parent.button.text="abc"//可修改父窗体上的button
//想修改父窗体上的htmlayout里的button怎么写
}
win.loopMessage();
return child;
|