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

原文地址:http://blog.csdn.net/nanfeiyannan/article/details/7341492

这几天,接触到在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浏览器窗口的显示

  1. procedure OpenInIE(aURL: string);

  2. var IE: Variant;

  3. begin

  4. IE := CreateOleObject(‘InternetExplorer.Application‘);
  5. IE.Visible := true; //可见

  6. IE.left := 0;

  7. IE.top := 0;

  8. IE.height := 1050; //高度

  9. IE.width := 1680; //宽度

  10. IE.menubar := 0; //取消菜单栏

  11. IE.addressbar := 0; //取消地址栏

  12. IE.toolbar := 0; //取消工具栏

  13. IE.statusbar := 0; //取消状态栏

  14. IE.resizable := 0; //不允许用户改变窗口大小

  15. IE.Navigate(aURL);

  16. end;

5.

  1. procedure TForm1.Button2Click(Sender: TObject);

  2. begin

  3. ShellExecute(Handle, ‘open‘, ‘IExplore.EXE‘, ‘http://www.baidu.com‘, nil, SW_SHOWNORMAL);

  4. end;


6.

  1. procedure TIEShowFrm.FormCreate(Sender: TObject);

  2. var

  3. Flags: OLEVariant;

  4. begin

  5. //WebBrowser1.Navigate(WideString(‘http://www.baidu.com‘), Flags, Flags, Flags, Flags);

  6. WebBrowser1.Navigate(‘http://www.baidu.com‘);

  7. end;


PS:如果再有什么突破了,就再来补充吧。。。

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

时间: 2024-08-02 10:47:12

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

C#编写第三方控件,实现窗体控件的一键取值

上篇博客中讲到了利用编写第三方控件的方法,实现给窗体控件的Text属性赋值,比如说:TextBox,Combox等.有赋值,当然也有取值操作.从窗体的控件中取值,然后存入变量或者实体属性当中,传入到数据访问层进行添加,更新等操作也是我们经常使用的.如何实现一键取值呢? 使用的方法在上篇博客中已经做了详细说明,这里就不再累述了. 代码写在这里: 该方法的作用是,遍历传入窗体中的控件,并且获取其值赋给实体类的相应属性. /// <summary> /// 从窗体控件取值,填充到学生实体类中 ///

C#编写第三方控件,实现窗体控件的一键赋值

. 事出有因 在写程序的时候,经常会写上面这样的代码,把查询的结果显示到窗体上,我们怎么做的呢? 一行一行的进行赋值,这样的代码写起来最枯燥,而且还容易出错.大家有没有发现,上面的代码都在做相同的事情-赋值.相类似的代码写了三遍以上,就要考虑是不是能对这个过程进行封装.封装出一个方法,帮我们自动完成这些重复性的操作. 思考过程 所接触项目中也有写好的类似方法.只是它涉及到了很多其它的方法,一个套一个,抽离出来特别不方便.而且还有几个令人不爽的地方: 第一是,控件在命名的时候必须和相对应实体属性相

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

(到我的文件中,下载"tableview中cell测滑删除的第三方控件"),使用方法如下: 在tableView中的.m中,设置cell的方法上,事例代码如下,其中,EaseConversationCell继承于LYSideslipCell: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *CellIden

Delphi中WebBrowser控件打开部分网站报&quot;Invalid floating point operation”解决

Delphi中WebBrowser控件打开部分网站报"Invalid floating point operation”解决 EmbeddedWBWebBrowserDelphi 最近用EmbeddedWB控件做浏览器相关应用的时候,发现有些网页只要一打开就一定会蹦出一个“Invalid floating point operation”异常(关掉异常对话框以后,浏览器无响应),而程序仅仅是一句 WebBrowser1.Navigate(Edit1.Text);貌似很多含有Silverlight

Delphi第三方控件安装卸载指南

基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install; 2.对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可: 3.对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可: 4.如果以上Install按钮为失效的话,试试Compile按钮: 5.是run time lib则在option下的

delphi中的XML解析控件TXMLDocument的用法

Delphi中TXMLDocument控件的用法 Delphi中对XML文件的解析做的很好,比直接使用MS的MSXML2_TLB中的接口要方便很多,现称述于下面. 在讲之前先给出一个XML实例,在讲某些部分是要结合实例比较容易理解. 1<?xmlversion="1.0"encoding="gb2312"?><!--文档版本信息,注释格式同HTML--> 2<XMLPackage> 3<clinetinfoip=”202.1

WPF中嵌入WinForm中的webbrowser控件

原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能使用.决定还是使用WinForm中的webbrowser.要想在WPF中使用WinForm控件,查看MSDN,需经过以下步骤. 创建名为 HostingWfInWpf 的 WPF 应用程序项目. 在解决方案资源管理器中,添加一个对名为 WindowsFormsIntegration.dll 的 Wi

Delphi中使用TXMLDocument控件应注意的问题

今天写了一个类,其中用到了TXMLDocument控件.这个控件我是要动态生成的. 但是却遇到了非常奇怪的问题,下面分享一下 procedure TMainForm.Button1Click(Sender:TObject); Var XML:TXMLDocument; I:Integer; begin XML:=TXMLDocument.Create(nil); XML.LoadFromFile(ExtractFilePath(Application.ExeName)+'demo.xml');

在第三方控件 super Grid 中想要删除选中的行

代码: DialogResult result = MessageBox.Show("确定移除选中词吗?", "移除选中",MessageBoxButtons.YesNo,MessageBoxIcon.Information); if (result == DialogResult.Yes) { SelectedElementCollection grid = SuperGrid.PrimaryGrid.GetSelectedRows(); foreach (Gri