• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi-WebBrowser用法几则浅谈

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

首先,新年了,祝福大家新年快乐,新的一年能学业和事业有成,家庭和身体都美好幸福。
在现在软件中,嵌入网页的案例月来也多了,这样界面设计也简单了。
下面我说说我自己在使用过程中学到的一些方法。
第一肯定是最简单的。//居然发现Writer的代码插件没有了,毕竟系统重装了。
WebBrowser1.Navigate('http://www.163.com');
这样可以直接打开网易了,可是俺家米有网,所以不能演示效果。

接下来说下,加载网页。
分三种情况:

  1. 以字符串的形式

    class procedure TMyIEUtil.LoadFromString(Web: IDispatch;
      const html: String);
    var
      ie:IWebBrowser2;
      flags,TargetFrameName,PostData,Headers:OleVariant;
    begin
      if not Assigned(Web) then
        Exit;
      if not Supports(Web,IWebBrowser2,ie) then
        raise EMyIEUtilWrongFormat.Create();
      ie.Navigate('about:'+ html,flags,TargetFrameName,PostData,Headers);
    end;

  2. 直接加载文件

    class procedure TMyIEUtil.LoadFromFile(Web: IDispatch;
      const FilePath: String);
    var
      ie:IWebBrowser2;
      flags,TargetFrameName,PostData,Headers:OleVariant;
    begin
      if not Assigned(Web) then
        Exit;
      if not FileExists(FilePath) then
        raise EMyIEUtilFileNotFound.Create();
      if not Supports(Web,IWebBrowser2,ie) then
        raise EMyIEUtilWrongFormat.Create();
      ie.Navigate(FilePath,flags,TargetFrameName,PostData,Headers);
    end;

  3. 从流中加载

    class procedure TMyIEUtil.LoadFromStream(Document: IDispatch; AStream: TStream);
    begin
      if not Assigned(Document) then
        Exit;
      AStream.Seek(0,soFromBeginning);
      (Document as IPersistStreamInit).Load(TStreamAdapter.Create(AStream));
    end;

在这3个函数里面前面2个函数中参数web必须支持IWebBrowser2这个接口,我们调用的时候可以这样
TMyIEUtil.LoadFromString(WebBrowser1.ControlInterface,'<b>Huang</b><u>Jacky</u>');
而最后一函数参数中Document必须支持IPersistStreamInit接口,调用:

var
  fs:TFileStream;
begin
  fs:=TFileStream.Create('C:\1.htm',fmOpenRead);
  try
    TMyIEUtil.LoadFromStream(WebBrowser1.Document,fs);
  finally
    fs.Free;
  end;
end;

在家无聊,随便写写。让大家见笑了。
重庆新闻频道的《新闻杂谈》不错,围观 小月月事件 被狂批,炒作。
那英警车开道取演出服。哈哈。
我只旁观,不评论,免得跨省。
在天朝,Nothing is impossible。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
公司Delphi升级发布时间:2022-07-18
下一篇:
delphiquery错误:commandtextdoesnotreturnaresultset发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap