pb中怎么通过嵌入ole来控制Ie浏览器控件?
2009-12-15 12:51
344 查看
打开某个网页:
ole_1.object.Navigate("http://www.sound-net.com", '', '', '', '')
当然如果你要做更加复杂的工作,这些是不够的
---------------------------------------------------------------
如果你对javascript,dhtml熟悉的话,对下边很容易理解:
通过pb中的browser 可以看到浏览器控件中有个对象ole_1.object.document.相当于网页中的document对象,由此可以在pb中得到和操纵许多document的属性,甚至还可以利用Document.parentWindow得到一些window对象的属性,
例如:
ole_1.object.Document.parentWindow.image2.value
如果要触发某个控件(id 为image4)的click事件
ole_1.object.Document.parentWindow.image4.click()
ole_1.object.document.forms.length 来得到有几个form
ole_1.object.document.forms[0].name 得到名称
ole_1.object.document.forms[0].submit() 根据名称提交
ole_1.object.document.forms[i].Submit.click()
遍历font的tag:
oleobject ole_all,ole_font
ole_all= ole_1.object.document.body.all
ole_font =ole_all.tags("FONT")
messagebox("",integer(ole_font.length))
改变网页背景色:
ole_1.object.Document.body.background=""
ole_1.object.Document.body.bgcolor=rgb(rand(255),rand(255),rand(255))
得到网页源码
ls = ole_1.object.document.documentElement.outerHTML
前进,后退:
ole_1.object.GoBack()
ole_1.object.GoForward()
或者:
ole_1.object.document.parentWindow.history.back()
ole_1.object.document.parentWindow.history.forward()
怎么相应点击网页的事件?
在clicked事件中加入:
ls_tagName=ole_1.object.document.activeElement.tagName
if upper(trim(ls_tagName))="A" then //同理可以对INPUT等响应
ls_name = ole_1.object.document.activeElement.id
ls_a=ole_1.object.Document.activeElement.href
//然后在这里根据链接的id或者href choosecase
CHOOSE CASE ls_name
CASE "A_test"
//do something
END CHOOSE
end if
怎么查找网页中document对象属性?
最好的办法就是用我们的pb8,新建web target,加入并且打开一个网页,在左边tab页选中page-〉client side,从树中就可以查到网页中document对象的属性方法,直接copy下来修改修改就可以用了。
//===================================================================
百度:
输入搜索
ole_webBrowser.object.Document.GetElementById("kw").InnerText ="youzhi1007"
点击按钮
ole_webBrowser.object.Document.GetElementById("sb").click
google
ole_webBrowser.object.Document.GetElementsByName("q").item(0).SetAttribute("value", "youzhi1007")
ole_webBrowser.object.Document.GetElementsByname("btnG").item(0).click
ole_1.object.Navigate("http://www.sound-net.com", '', '', '', '')
当然如果你要做更加复杂的工作,这些是不够的
---------------------------------------------------------------
如果你对javascript,dhtml熟悉的话,对下边很容易理解:
通过pb中的browser 可以看到浏览器控件中有个对象ole_1.object.document.相当于网页中的document对象,由此可以在pb中得到和操纵许多document的属性,甚至还可以利用Document.parentWindow得到一些window对象的属性,
例如:
ole_1.object.Document.parentWindow.image2.value
如果要触发某个控件(id 为image4)的click事件
ole_1.object.Document.parentWindow.image4.click()
ole_1.object.document.forms.length 来得到有几个form
ole_1.object.document.forms[0].name 得到名称
ole_1.object.document.forms[0].submit() 根据名称提交
ole_1.object.document.forms[i].Submit.click()
遍历font的tag:
oleobject ole_all,ole_font
ole_all= ole_1.object.document.body.all
ole_font =ole_all.tags("FONT")
messagebox("",integer(ole_font.length))
改变网页背景色:
ole_1.object.Document.body.background=""
ole_1.object.Document.body.bgcolor=rgb(rand(255),rand(255),rand(255))
得到网页源码
ls = ole_1.object.document.documentElement.outerHTML
前进,后退:
ole_1.object.GoBack()
ole_1.object.GoForward()
或者:
ole_1.object.document.parentWindow.history.back()
ole_1.object.document.parentWindow.history.forward()
怎么相应点击网页的事件?
在clicked事件中加入:
ls_tagName=ole_1.object.document.activeElement.tagName
if upper(trim(ls_tagName))="A" then //同理可以对INPUT等响应
ls_name = ole_1.object.document.activeElement.id
ls_a=ole_1.object.Document.activeElement.href
//然后在这里根据链接的id或者href choosecase
CHOOSE CASE ls_name
CASE "A_test"
//do something
END CHOOSE
end if
怎么查找网页中document对象属性?
最好的办法就是用我们的pb8,新建web target,加入并且打开一个网页,在左边tab页选中page-〉client side,从树中就可以查到网页中document对象的属性方法,直接copy下来修改修改就可以用了。
//===================================================================
百度:
输入搜索
ole_webBrowser.object.Document.GetElementById("kw").InnerText ="youzhi1007"
点击按钮
ole_webBrowser.object.Document.GetElementById("sb").click
ole_webBrowser.object.Document.GetElementsByName("q").item(0).SetAttribute("value", "youzhi1007")
ole_webBrowser.object.Document.GetElementsByname("btnG").item(0).click
相关文章推荐
- Flex中如何通过设置fontFamily样式在NumericStepper控件中使用嵌入字体的例子
- Flex中如何通过focusRoundedCorners样式在TextInput控件获得焦点后控制矩形对角圆滑与否的例子
- js对文本框输入的字数限制、通过复选框控制其他html控件的可用性
- PB打开ole控件IE浏览器版本问题_指定Webbrowser控件所用IE内核版本(转)
- 关于绑定了GridView控件后怎么截取字符串和CSS样式来控制表头不换行
- 通过WM_CTLCOLOREDIT 控制EDIT控件外观
- 通过监听Windows消息对复合控件进行整体控制(C#)二
- Flex中如何通过设定headerStyleName样式在Accordion控件中使用嵌入字体的例子
- 在WIN7 环境里PB里面添加控件OLE,选择insertcontrol选项卡就会报错自动关闭解决办法
- VB中编辑代码窗口的滚动条怎么不能通过鼠标滑轮控制解决办法_转载
- pb中使用ole ie控件打印
- C# 通过委托控制进度条以及多线程更新控件
- 通过监听Windows消息对复合控件进行整体控制
- 给控件设置drawabletop以后怎么控制图片大小
- MFC中怎么通过程序改变Picture Control控件的大小
- C# 通过委托控制进度条以及多线程更新控件
- control picture 大小如何设定 mfc MFC中怎么通过程序改变Picture Control控件的大小
- My97DatePicker日期控件,强大的日期控件,想怎么控制时间就怎么控制
- 通过javascript来控制ASP.NET服务器控件状态
- Flex中如何通过设置editable属性控制NumericStepper控件可编辑/不可编辑状态的例子