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