`
az7772010
  • 浏览: 204013 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

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<wbr>.html</wbr>
一个具有参考价值的帖子:
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<wbr>OpenInIE(aURL:<wbr></wbr></wbr>string);<wbr><wbr></wbr></wbr>
  2. <wbr><wbr><wbr><wbr><span>var</span><span><wbr>IE:<wbr>Variant;<wbr><wbr></wbr></wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  3. begin<wbr><wbr></wbr></wbr>
  4. <wbr><wbr><wbr><wbr>IE<wbr>:=<wbr>CreateOleObject(<span>'InternetExplorer.Application'</span><span>);<wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr>
  5. <wbr><wbr></wbr></wbr>
  6. <wbr><wbr><wbr><wbr>IE<span>.</span><span>Visible<wbr>:=<wbr></wbr></wbr></span><span>true</span><span>;<wbr></wbr></span><span>//可见</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  7. <wbr><wbr><wbr><wbr>IE<span>.</span><span>left<wbr>:=<wbr></wbr></wbr></span><span>0</span><span>;<wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  8. <wbr><wbr><wbr><wbr>IE<span>.</span><span>top<wbr>:=<wbr></wbr></wbr></span><span>0</span><span>;<wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  9. <wbr><wbr><wbr><wbr>IE<span>.</span><span>height<wbr>:=<wbr></wbr></wbr></span><span>1050</span><span>;<wbr></wbr></span><span>//高度</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  10. <wbr><wbr><wbr><wbr>IE<span>.</span><span>width<wbr>:=<wbr></wbr></wbr></span><span>1680</span><span>;<wbr></wbr></span><span>//宽度</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  11. <wbr><wbr><wbr><wbr>IE<span>.</span><span>menubar<wbr>:=<wbr></wbr></wbr></span><span>0</span><span>;<wbr></wbr></span><span>//取消菜单栏</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  12. <wbr><wbr><wbr><wbr>IE<span>.</span><span>addressbar<wbr>:=<wbr></wbr></wbr></span><span>0</span><span>;<wbr></wbr></span><span>//取消地址栏</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  13. <wbr><wbr><wbr><wbr>IE<span>.</span><span>toolbar<wbr>:=<wbr></wbr></wbr></span><span>0</span><span>;<wbr></wbr></span><span>//取消工具栏</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  14. <wbr><wbr><wbr><wbr>IE<span>.</span><span>statusbar<wbr>:=<wbr></wbr></wbr></span><span>0</span><span>;<wbr></wbr></span><span>//取消状态栏</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  15. <wbr><wbr><wbr><wbr>IE<span>.</span><span>resizable<wbr>:=<wbr></wbr></wbr></span><span>0</span><span>;<wbr></wbr></span><span>//不允许用户改变窗口大小</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  16. <wbr><wbr><wbr><wbr>IE<span>.</span><span>Navigate(aURL);<wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
  17. end;<wbr><wbr></wbr></wbr>
procedure OpenInIE(aURL: string);
    var IE: Variant;
begin
    IE := CreateOleObject('InternetExplorer.Application');

    IE.Visible := true; //可见
    IE.left := 0;
    IE.top := 0;
    IE.height := 1050; //高度
    IE.width := 1680; //宽度
    IE.menubar := 0; //取消菜单栏
    IE.addressbar := 0; //取消地址栏
    IE.toolbar := 0; //取消工具栏
    IE.statusbar := 0; //取消状态栏
    IE.resizable := 0; //不允许用户改变窗口大小
    IE.Navigate(aURL);
end;
5.
  1. procedure<wbr>TForm1</wbr>.Button2Click(Sender:<wbr>TObject);<wbr><wbr></wbr></wbr></wbr>
  2. begin<wbr><wbr></wbr></wbr>
  3. <wbr><wbr>ShellExecute(Handle,<wbr><span>'open'</span><span>,<wbr></wbr></span><span>'IExplore.EXE'</span><span>,<wbr></wbr></span><span>'http://www.baidu.com'</span><span>,<wbr></wbr></span><span>nil</span><span>,<wbr>SW_SHOWNORMAL);<wbr><wbr></wbr></wbr></wbr></span></wbr></wbr></wbr>
  4. end;<wbr><wbr></wbr></wbr>
procedure TForm1.Button2Click(Sender: TObject);
begin
  ShellExecute(Handle, 'open', 'IExplore.EXE', 'http://www.baidu.com', nil, SW_SHOWNORMAL);
end;

6.
  1. procedure<wbr>TIEShowFrm</wbr>.FormCreate(Sender:<wbr>TObject);<wbr><wbr></wbr></wbr></wbr>
  2. var<wbr><wbr></wbr></wbr>
  3. <wbr><wbr>Flags:<wbr>OLEVariant;<wbr><wbr></wbr></wbr></wbr></wbr></wbr>
  4. begin<wbr><wbr></wbr></wbr>
  5. <wbr><wbr><span>//WebBrowser1.Navigate(WideString('http://www.baidu.com'),<wbr>Flags,<wbr>Flags,<wbr>Flags,<wbr>Flags);</wbr></wbr></wbr></wbr></span><span><wbr><wbr></wbr></wbr></span></wbr></wbr>
  6. <wbr><wbr>WebBrowser1<span>.</span><span>Navigate(</span><span>'http://www.baidu.com'</span><span>);<wbr><wbr></wbr></wbr></span></wbr></wbr>
  7. end;<wbr><wbr></wbr></wbr>
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;

PS:如果再有什么突破了,就再来补充吧。。。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics