如何不通过TWebBrowser控件,直接从文件流或文件中生成文档对象模型(HtmlDocument)?

解决方案 »

  1.   


    procedure SetHtml(const WebBrowser:TWebBrowser; const Html:string);
    var
      Stream: IStream;
      hHTMLText: HGLOBAL;
      psi: IPersistStreamInit;
    begin
      if not Assigned(WebBrowser.Document) then Exit;
      hHTMLText := GlobalAlloc(GPTR, StrLen(PChar(html))+1);
      if 0 = hHTMLText then RaiseLastWin32Error;
      CopyMemory(Pointer(hHTMLText),PChar(Html), StrLen(PChar(Html)));  OleCheck(CreateStreamOnHGlobal(hHTMLText, True, Stream));
      try
        OleCheck(WebBrowser.Document.QueryInterface(IPersistStreamInit, psi));
        try
         OleCheck(psi.InitNew);
         OleCheck(psi.Load(Stream));
        finally
          psi := nil;
        end;
      finally
        Stream := nil;
      end;
    end;这样就可以啦,你直接把字符流传给TWebBrowser,然后就会在其上面显示
      

  2.   

    Uses COMOBJ,ActivX就可以的了
      

  3.   

    没用啊,还是用了TWebBrowser,而且没用