试问:
    就像HTML文件的CHM文件一样,图片与其文字是一个整体的,如何能将网页内容包括图片全都载入流中,然在在HTML网页控件中用流重新显示,而绝不是:要显示图片而将图片先释放到某个目录下然后我想让其全部在内存流中完成!

解决方案 »

  1.   

    CHM文件好像是将图片放到资源里面,然后直接从资源里面定位而不需要载入到内存流。
      

  2.   

    function TForm1.WBLoadFromStream(const AStream: TStream; WB: TWebBrowser): HRESULT;
    var
      PersistStream: IPersistStreamInit;
    begin
      PersistStream := WB.Document as IPersistStreamInit;
      PersistStream.InitNew;
      AStream.seek(0, 0);
      Result := (WB.Document as IPersistStreamInit).Load(TStreamadapter.Create(AStream));
    end;
    procedure TForm1.Button6Click(Sender: TObject);
    var
      AStream: TMemoryStream;
      AList: TStringList;
    begin
      WebBrowser1.Navigate('about:blank');
      AList := TStringList.Create;
      AStream := TMemoryStream.Create;
      try
        AList.LoadFromFile('F:\DelphiTest\WebBrowser\百度.htm');
        AList.SaveToStream(AStream);
        WBLoadFromStream(AStream , WebBrowser1);
      finally
        AStream.Free;
        AList.Free;
      end;
    end;
      

  3.   

    uses   SHDocVw, MSHtml, ActiveX
      

  4.   

    yq3woaini真的谢谢你的好意了!
    可我问的是:如果让HTML网页控件TWebBrowser,直接从流中加载图片或控件,而不是:只是从流中加载文字的HTML网页!唉!为什么碰到问题,总是让人想的太简单!伤心!
      

  5.   

    TWebBrowser does not support loading ActiveX directly. It may also fail to load pictures.
      

  6.   

    我想了一下,还是可以的,因为在TWebBrowser的地址栏中,可以用Res://c:\a.exe/pic/bm
    装入图片,即然可以从资源文件中加载图片,就好像应该可以从流中载入图片....这是试想.
      

  7.   

    这个百度的网页是包含图片的,我测试了。你保存到一起。
    但加载图片没有试,应该是一样的。百度.htm 是按网页“仅htm文件”存储的  这个网页中包含了图片。
      

  8.   

    嗯,你可以自己写一个APP协议,之后想怎么解释这个协议就怎么解释
    http://msdn.microsoft.com/workshop/networking/pluggable/overview/overview.asp
      

  9.   

    http://lysoft.lz169.com/kingron/webbrowserloadfromstream.html
    http://lysoft.lz169.com/kingron/norton_antivirus_2002.html
    http://lysoft.lz169.com/kingron/exedll.html
      

  10.   

    jiangsheng(蒋晟.Net[MVP]) 
    APP协议,能否具体一点,真的,感激!