Delphi中代替WebBrowser控件的第三方控件

时间:2022-09-24 16:07:59

这几天,接触到在delphi中内嵌网页,用delphi7自带的TWebBrowser控件,显示的内容与本机IE8显示的不一样,但是跟装IE8之前的IE6显示一个效果。现在赶脚是下面两个原因中的一个:

1.Navigate这个方法用的有点问题,里面的参数不同及Navigate2等不同方法,调用的IE内核版本不同

2.这个自带的控件用着不爽,直接换一个第三方控件

对于第一点,找了半天冒发现什么,赶紧转换思路,于是找到了

EmbeddedWB这个第三方控件。。。

下载址:http://www.delphifans.com/SoftView/SoftView_2705.html或http://d.download.csdn.net/detail/randb/631380
delphi7中安装方法:
http://salomi.blog.51cto.com/389282/125954
另附几个我为了解决这个问题赶脚有用的网址:
Delphi第三方控件EmbeddedWB的使用方法:
http://hi.baidu.com/cyrist/blog/item/e8782ea4c64919ec9052eedc.html
一个具有参考价值的帖子:
http://topic.csdn.net/u/20120310/12/32b22ac0-8e5f-4f9f-9083-b8c7aaa52380.html?seed=587680286&r=77849641#r_77849641
如何用Delphi调用IE打开网页:http://blog.csdn.net/mrwu9902/article/details/4954555
关于调用其他浏览器内核的控件(我安装了使用火狐内核的Mozilla ActiveX控件,但是代码调用的时候,报错了,没怎么管了,有兴趣的同仁可以研究下):

http://topic.csdn.net/u/20090527/09/58387179-3fe8-49d7-9d95-9d9c00767e65.html

http://topic.csdn.net/u/20120215/17/8501dc38-742e-47cb-bad1-35ef2a7bd0cc.html
http://delphi.about.com/b/2005/01/15/using-firefox-instead-of-twebbrowser-in-delphi-applications.htm
http://www.paranoia.clara.net/articles/taming_the_lizard_with_delphi.html
http://www.adamlock.com/mozilla/
做了这些功课,希望该问题下周一能够顺利解决。。。。。。

//////////////////////////////////////2012.03.25更新一下//////////////////////////////////////////////////////////

最近一段时间没时间关注这个问题了,不晓得那个网页是里面用了脚本的原因还是其他什么原因,唉,反正是结果目前还没得到我想要的
1.EmbeddedWB与TWebBrowser实现效果一样,跟IE8效果不一样,有一种说法是“这两个控件调用的不是本机的IE内核,在delphi7中而是调用的IE6内核”。。。自己目前还不清楚。。。
2.谷歌控件Delphi Chromium Embedded:http://code.google.com/p/delphichromiumembedded/
这个装好了以后,要把exe的输出路径设置到DEF/win32/bin,如果修改源代码,貌似是可以不用总是把生成的exe放那个目录的,没实现我想要的效果,就没研究这个问题了。。。
这个用了之后,打开那个网页的时候,半天没反应,窗口好像死在那了。。。有哪位高手看到这,知道原因的,还请留言指点几句。。。
3.还有GeckoBrowser for Delphi这个控件,还没研究出来怎么用这玩意。。。
4.这一种自己可以改变下IE浏览器窗口的显示
procedure OpenInIE(aURL: string);
var IE: Variant;
begin
IE := CreateOleObject('InternetExplorer.Application'); IE.Visible := true; //可见
IE.left := ;
IE.top := ;
IE.height := ; //高度
IE.width := ; //宽度
IE.menubar := ; //取消菜单栏
IE.addressbar := ; //取消地址栏
IE.toolbar := ; //取消工具栏
IE.statusbar := ; //取消状态栏
IE.resizable := ; //不允许用户改变窗口大小
IE.Navigate(aURL);
end;

5.

procedure TForm1.Button2Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'IExplore.EXE', 'http://www.baidu.com', nil, SW_SHOWNORMAL);
end;

6.

procedure TIEShowFrm.FormCreate(Sender: TObject);
var
Flags: OLEVariant;
begin
//WebBrowser1.Navigate(WideString('http://www.baidu.com'), Flags, Flags, Flags, Flags);
WebBrowser1.Navigate('http://www.baidu.com');
end;

Delphi中代替WebBrowser控件的第三方控件的更多相关文章

  1. Delphi中线程类TThread实现多线程编程2---事件、临界区、Synchronize、WaitFor……

    接着上文介绍TThread. 现在开始说明 Synchronize和WaitFor 但是在介绍这两个函数之前,需要先介绍另外两个线程同步技术:事件和临界区 事件(Event) 事件(Event)与De ...

  2. Delphi中禁止WebBrowser右键的方法

    uses MSHtml; //在控件标签additional中找到TApplicationEvents控件,拖到窗体上.在TApplicationEvents的OnMessage事件中加入以下代码: ...

  3. delphi中使用webbrowser提交表单

    转自:http://blog.163.com/hehaifeng1984@126/blog/static/6900113620133504644998/ 我们以百度搜索为例,使用webbrowser组 ...

  4. Delphi中判断WebBrowser的页面是否加载完成

    方法一: 在WebBrowser的OnDocumentComplete事件书写代码. 方法二: WebBrowser1.Navigate(Url); while WebBrowser1.Busy or ...

  5. 在DELPHI中动态创建控件以及控件的事件

    在DELPHI中我们经常要动态的创建控件以及控件的事件.例如,我们可能想根据程序需要动态的创建一些Tshape组件来创建某个图形,并使得在鼠标移动上去之后可以完成某些操作.这一般需要需要三步: 生成一 ...

  6. 【转】WPF - 第三方控件

    WPF - 第三方控件 目前第三方控件在网上形成巨大的共享资源,其中包括收费的也有免费的,有开源的也有不开源的,合理的使用第三方控件将使项目组的工作事半功倍.比如项目中有些复杂的业务逻辑.有些绚丽的效 ...

  7. iOS tableView侧滑删除的第三方控件

    (到我的文件中,下载“tableview中cell测滑删除的第三方控件”),使用方法如下: 在tableView中的.m中,设置cell的方法上,事例代码如下,其中,EaseConversationC ...

  8. Developer Express 第三方控件使用系列方法

    本人目前从事的开发工作主要是以C#语言进行的相关C/S的开发,在工作中也要求使用Developer Express第三方控件所以这一系列的控件使用说明都将以C#语言进行代码说明.平时工作中会慢慢的收集 ...

  9. Delphi中停靠技术的实现

    随着软件技术的不断进步,软件界面也越来越美观,操作也越来越方便.综观市面上比较专业的各种软件,我们会发现大部分都提供窗体停靠的功能,特别象工具软件,基本上都或多或少有停靠功能.自然,Delphi也支持 ...

随机推荐

  1. salesforce 零基础学习(四十三)运算取余

    工作中遇到一个简单的小问题,判断两个数是否整除,如果不整除,获取相关的余数. 习惯java的我毫不犹豫的写下了代码 public Boolean isDivisibility(Integer divi ...

  2. 【读书笔记】iOS-ARC-Xcode检测循环引用

    一,在桌面上新建立一个工程,在ViewController.m中输入如下代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additio ...

  3. ubuntu 下mongodb安装

    1.下载: mongodb.org/download 2. 将下载的压缩文件加压到/usr/lib下 3. 建立软链接 ln -s /usr/lib/mongodb-linux-i686-2.6.7/ ...

  4. Griddle, griddle-react 一个REACT 表格组件

    Griddle, griddle-react 一个REACT 表格组件: http://griddlegriddle.github.io/Griddle/index.html

  5. 【JAVA中String、StringBuffer、StringBuilder类的使用】

    一.String类概述 1.String对象一旦创建就不能改变. 2.字符串常量池. 字符串常量池的特点:池中有则直接使用,池中没有则创建新的字符串常量. 例1: public class Strin ...

  6. Jquery ajax调用后台aspx后台文件方法(不是ashx)

    在asp.net webForm开发中,用Jquery ajax调用aspx页面的方法常用的有两种:下面我来简单介绍一下. (1)通过aspx.cs的静态方法+WebMethod进行处理 简单的介绍下 ...

  7. Django-CSRF的使用

    1. 为什么要有csrf_token? 防止跨站请求伪造 2. Django中如何使用? urls.py: urlpatterns = [ # 测试跨站请求伪造 (CSRF) url(r'^csrf_ ...

  8. 判断库中为字符串格式的时间是否为最近三个月(Java)

    今天分享一个问题,就是标题中提到的问题,今天在调用一个接口的时候,发现调用到的数据的时间格式为字符串类型,我有点蒙圈,于是,我就百度解决了这个问题,同时在这里记录一下,为了之后不再蒙圈::: 首先需要 ...

  9. 解决 安装或卸载软件时报错Error 1001 的问题

    卸载或安装程序时出错1001:错误1001可能发生在试图更新.修复或卸载windows os中的特定程序时.此问题通常是由于程序的先前安装损坏而引起的. 错误“1001”通常会遇到,因为程序的先前安装 ...

  10. "java.lang.IllegalStateException: No instrumentation registered! Must run under a registering instrumentation."问题解决

    问题描述 运行uiautomator,报错"java.lang.IllegalStateException: No instrumentation registered! Must run ...