import win.ui;
/*DSG{{*/
var winform = win.form(text="简码编程 - 批量给控件添加功能";right=492;bottom=254;max=false)
winform.add(
button={cls="button";text="button";left=101;top=43;right=205;bottom=78;z=3};
button2={cls="button";text="button2";left=221;top=44;right=325;bottom=79;z=4};
button3={cls="button";text="button3";left=341;top=45;right=445;bottom=80;z=5};
edit={cls="edit";text="edit";left=102;top=103;right=247;bottom=141;edge=1;multiline=1;z=2};
edit2={cls="edit";text="edit2";left=275;top=108;right=420;bottom=146;edge=1;multiline=1;z=6};
progress={cls="plus";left=119;top=107;right=377;bottom=131;align="left";background="\res\progress-bg.jpg";color=16777215;foreRepeat="expand";foreground="\res\progress.jpg";z=1}
)
/*}}*/
import win.ui.tooltip;
var tooltipCtr = win.ui.tooltip( winform );//在窗口上创建tooltip对象
//批量给控件添加悬停提示
for(name,ctrl in winform.eachControl() ){
if(ctrl){
tooltipCtr.addTool(ctrl,"这是一个控件 "++ ctrl.text ++" left="++ctrl.left++" right="++ctrl.right,0x10/*_TTF_SUBCLASS*/ )
}
}
winform.show()
win.loopMessage();
适用于界面有大量控件并且每个控件都有相同的事件或功能,一次性添加上去,不用一个一个控件写,大大简化了代码量.
比如,界面上有十几个跟踪条(滑块条),每个跟踪条在滑动时都在相应的伙伴控件上显示当前数据,并且总计和执行某些相同函数,则只需要上面的几行代码即可,不需要一个个跟踪条去写事件响应处理代码.