CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

关于TWebBrowser和Delhpi之间的通讯问题,在线等待,急

楼主pronet(戏游子)2005-02-03 23:19:46 在 Delphi / VCL组件开发及应用 提问

简单描述一下。  
  一个窗体上有一个TWebBrowser,里面显示一个html页面,html页面里有若干控件。  
  问:1   如何让程序知道用户在TWebBrowser里的动作,比如点击页面里的按钮。  
          2   程序如何修改TWebBrowser里面页面的一个数据,比如修改页面里某个lable的值。  
  请各位大虾指点迷津,问题停留48小时,麻烦给出事例代码,最好有中文注释。谢谢  
   
  48小时后若无正确答案,分数将给帮忙顶的朋友。谢谢。  
  问题点数:100、回复次数:15Top

1 楼pilicat(Delphi迷)回复于 2005-02-03 23:31:23 得分 0

你可以通过Document对象来实现操作的。Top

2 楼pilicat(Delphi迷)回复于 2005-02-03 23:32:06 得分 30

例如:  
   
  放Button1、Button2到Form上  
  放WebBrowser1到Form上  
   
  在Button1的OnClick事件中写代码:  
      WebBrowser1.Navigate('http://www.google.com/intl/zh-CN/');  
   
  在Button2的OnClick事件中写代码:  
  Var  
      aDoc:OleVariant;  
  begin  
      if   WebBrowser1.ReadyState<>READYSTATE_COMPLETE   then  
          begin  
              ShowMessage('请先装载页面!');  
              exit;  
          end;  
      aDoc:=WebBrowser1.Document;  
      aDoc.f.q.value:='我要查询的关键字';  
      aDoc.f.submit;  
   
   
  注意,要先点击Button1,等页面打开后,再点击Button2  
   
  大量电脑书籍下载:  
  http://www.netyi.net/in.asp?id=ForMoreU  
  Top

3 楼pronet(戏游子)回复于 2005-02-04 14:05:41 得分 0

谢谢,第二个问题知道了.  
  现在我想了解第一个问题.  
  比如,html中的javascript可以得到应用程序中的对象,但不是用new   ActiveXObject()来实现的Top

4 楼pronet(戏游子)回复于 2005-02-04 22:22:01 得分 0

我现在已经能操作WebBrowser里的东西,但我希望在用户操作WebBrowser的时候,我的程序有所反应,比如能将我程序的某个对象送到WebBrowser里那么脚本就可以通过这个对象给我的程序发消息。  
  或者说个具体的例子。我希望知道用户鼠标停留在哪个按钮或超连接上面(用户未进行点击动作)。  
  希望大家帮忙或给出思路。谢谢。Top

5 楼pronet(戏游子)回复于 2005-02-05 20:46:44 得分 0

upTop

6 楼notbug(小虫子)回复于 2005-02-05 22:09:42 得分 0

我也有同样的问题,密切关注!Top

7 楼jiangsheng(蒋晟.Net[MVP])回复于 2005-02-05 22:26:35 得分 40

http://www.euromind.com/iedelphi/embeddedwb/ongetexternal.htmTop

8 楼zswang(伴水清清)(专家门诊清洁工)回复于 2005-02-05 22:35:50 得分 0

//IHTMLDocument2::elementFromPoint()  
   
  var  
      vHTMLElement:   IHTMLElement;  
      vPoint:   TPoint;  
  begin  
      if   not   Assigned(WebBrowser1.Document)   then   Exit;  
      vPoint   :=   Mouse.CursorPos;  
      vPoint   :=   WebBrowser1.ScreenToClient(vPoint);  
      vHTMLElement   :=   (WebBrowser1.Document   as   IHTMLDocument2  
          ).elementFromPoint(vPoint.X,   vPoint.Y);  
      if   not   Assigned(vHTMLElement)   then   Exit;  
      Caption   :=   vHTMLElement.tagName;  
      vHTMLElement   :=   nil;  
  end;  
  Top

9 楼halfdream(哈欠)回复于 2005-02-06 11:07:58 得分 0

关注,年后再看.  
  Top

10 楼Kshape(C/C++初学者~~~~)回复于 2005-02-06 12:22:26 得分 0

好多星星Top

11 楼Eastunfail(龍子龍孫) (Serpent's Embrace)回复于 2005-02-06 12:45:45 得分 0

To   楼主:  
  jiangsheng的方法是最好的。  
  Top

12 楼Eastunfail(龍子龍孫) (Serpent's Embrace)回复于 2005-02-06 12:46:35 得分 10

像是拍马屁     =_=  
   
  以前也处理过类似的问题。就是用EmbededWB的OnGetExternal里返回一个自动化对象来实现的。Top

13 楼notbug(小虫子)回复于 2005-02-08 20:54:09 得分 20

使用JScript,从IE4开始,微软提供了一个ICustomDoc接口,ICustomDoc的SetUIHandler允许用户设置一个基于IDocHostUIHandler的接口来接管界面处理器,在IDocHostUIHandler提供了很多的虚拟方法,需要重载他们实现不同的定制功能,重载GetExternal方法来扩展IE   DOM,如果成功的扩展了DOM,那么就这可以编写脚本代码来实现与本地程序交互。  
  请大家参考文章:http://siney.nease.net/article/newintf.htm  
  Top

14 楼pronet(戏游子)回复于 2005-02-14 19:36:18 得分 0

谢谢各位,我已经找到了方法,但还是要感谢各位的关注。  
  最近没空上网。晚来几天给分,请原谅~Top

15 楼langzihuitou(浪子回头)回复于 2005-03-16 15:04:40 得分 0

请问有谁知道WebBrowser   的时候点击页面下载文件的时候不想弹出另存为的按钮的时候应该怎么写?Top

相关问题

  • 实时通讯—在线等待(100分)
  • Delhpi和gif动画!在线等待。
  • 关于同com通讯的问题,在线等待。
  • 和com口通讯的问题,在线等待。
  • 语音通讯问题,紧急求助高手, 在线等待~~~~~~~~~~~~
  • spcomm串口通讯怪问题,在线等待高手赐教!!!
  • 在线等待,winsock Server 与 client 通讯程序原码!
  • 通过串口(r232)与计算机通讯,高分等待例程
  • 有关Delphi 中利用MSComm控件通讯的问题-----------------在线等待!!!!
  • 谁用 MSCOMM 和 Delphi 开发过串口通讯程序------在线等待!!!!

关键词

  • .net
  • 页面
  • 代码
  • 用户
  • document
  • html
  • vpoint
  • vhtmlelement
  • twebbrowser
  • webbrowser

得分解答快速导航

  • 帖主:pronet
  • pilicat
  • jiangsheng
  • Eastunfail
  • notbug

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo