如何不通过TWebBrowser控件,直接从文件流或文件中生成文档对象模型(HtmlDocument)?
解决方案 »
- 循环后值怎么不循环进出呢?
- 大家讨论下第三方控件问题。。。
- 盘点一下,我们的N年单干的经历吧!
- 如何解决"套打"?参与者有分!
- 请问毛玻璃效果怎么实现?
- 类似网络蚂蚁那样程序最小化还能一直在桌面上的小窗口是怎么实现的?急!!
- INI文件
- 各位国庆快乐,BDE为什么会出现这样的错误
- 请问LoadBitmap(hInstance, 'BACKGROUND') 的BACKGROUND是系统资源吗?我搜索机器找不到这个资源,但却能返回,为什么
- 在form2中对form1的Treeview的节点设imageindex不好使,imagelist和treeview都是放在form1中的,有什么办法呢?
- com+调试出错的问题
- 怎样给客户端程序打包,我采用的是ADO连接数据库的!
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,然后就会在其上面显示