|
本帖最后由 HiveIT 于 2013-7-7 03:40 编辑
首先,解决问题的方法是:
自己反复阅读【多标签浏览器】例程,一行行的做对比,然后模仿着写出来的。
问题虽然已经得到解决,但仍然没有真正理解“所以然”,只是“知其然”,无耐,自己再慢慢学。
下面贴代码和总结:
————————————————————
- import win.ui;
- import win.ui.statusbar;
- import web.form;
- /*DSG{{*/
- mainForm = ..win.form( parent=...;bottom=550;scroll=1;right=1000;edge=1;text="aardio Form" )
- mainForm.add(
- stcmainWb={ dr=1;dl=1;bottom=529;right=995;left=5;dt=1;top=34;z=1;db=1;text="";transparent=1;cls="static" }
- )
- /*}}*/
- //创建web窗体
- mainWb = web.form( mainForm.stcmainWb);
- mainWb.go("http://bbs.aardio.com");
- mainWb.noScriptErr=true;
- mainWb.NewWindow2=function( ppDisp, Cancel) {
- return mainWb.openproxy/*创建代理窗口捕获网址并在当前窗口打开*/
- }
- mainForm.show( );
- //******** 状态栏 关键代码部分 开始 ********
- //首先是创建状态栏,可以直接在这里指定初始文字,但我这里用作URL的显示,网页一打开文字立马变了,所以不必要初始化。
- //状态文字初始化用法 var stat = win.ui.statusbar(mainForm).setText("测试文字")
- //更多用法,可以参看 IDE 里弹出的实时帮助,说得蛮详细,再不行就翻帮助文档吧。
- var stat = win.ui.statusbar(mainForm);
- //状态栏创建好之后,就是显示Web页面上的URL了,我这里没有多标签页面,也没有特殊要求,所以不需要判断直接显示就好了
- mainWb.StatusTextChange = function(text) {
- stat.setText(text)
- }
- //【多标签浏览器】例程中的代码是下面这样的,大概意或许是:当前窗体中的页面等于Web页面时,才显示状态栏URL文档
- //如果不加以判断,则有可能显示的是其他标签页中的URL
- //wb.StatusTextChange = function ( text ) {
- // if ( winform.tab.form == wb._form )
- // stat.setText( text );
- //}
- //******** 状态栏 关键代码部分 结束 ********
- //进入消息循环
- win.loopMessage();
- return winform,wb;
-
复制代码 总结下来,几点:
一、我之前的问题应该是出在,找错了 wb 窗体,我建立的 Web 窗体是 mainWb。
二、没有理解示例码中下面这一句是什么意思?
var wb = web.form( form , , 0x40000000/*_DLCTL_SILENT*/ | 0x10/*_DLCTL_DLIMAGES*/| 0x20/*_DLCTL_VIDEOS*/ );
三、不理解为什么没有写鼠标相关的东西,怎么就能在鼠标指向连接的时候,显示出URL来? |
|