如何将FileStream或MemoryStream中的Html文件写入TWebBrowser中显示 |
尚未結案
|
favinc
一般會員 發表:22 回覆:19 積分:8 註冊:2003-03-11 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
|
favinc
一般會員 發表:22 回覆:19 積分:8 註冊:2003-03-11 發送簡訊給我 |
我本人的实现办法是: procedure DispHtmlFromStream(const WebBrowser: TWebBrowser; const MStream: TStream);
var
hr: HRESULT;
pStream: IStream;
pPersistStreamInit: IPersistStreamInit;
const
IID_IPersistStreamInit: TGUID = '{7FD52380-4E07-101B-AE2D-08002B2EC713}';
begin
if MStream = nil then Exit;
hr := WebBrowser.Document.QueryInterface(IID_IPersistStreamInit, pPersistStreamInit);
if (Succeeded(hr)) then
begin
hr := pPersistStreamInit.InitNew;
if (Succeeded(hr)) then
begin
pStream := TStreamAdapter.Create(MStream);
hr := pPersistStreamInit.Load(pStream);
end;
pPersistStreamInit := nil;
end;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
ms.Clear;
with TFileOpen.Create(self) do
try
dialog.Filter := '*.htm;*.html|*.htm;*.html';
if dialog.Execute then
begin
ms.LoadFromFile(dialog.FileName);
DispHtmlFromStream(WebBrowser1, ms);
end;
finally
Free;
end;
end; 但这只是实现了让TWebBrowser从一个流文档显示内容的方法,当Html文档中有图像连接时,图像文档必须与Html文档在同一个文件夹内。
我希望TWebBrowser打开Html时,同时也可以从文件流中读取相关连接的图像文件。也即所有的数据均存在于Stream之中。 兵临城下,快活如故。
------
兵临城下,快活如故。 |
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |