作者: 陆岛工作室

几个WebBrowser相关的函数--原创

贴几个 TWebBrowser 编程相关的函数。

{ 去掉 TWebBrowser 的边框 }
procedure WB_Set3DBorderStyle(Sender: TWebBrowser; bValue: Boolean);

{ WebBrowser 从内存中读取 HTML 文件}
procedure WebBrowserLoadFromStream(WebBrowser: TWebBrowser; Stream: TStream);
procedure NavigateLoadFromStream(WebBrowser: TWebBrowser;  Stream:  TStream);

{ WebBrowser 从字符中读取 HTML 文件}
procedure WebBrowserLoadFromText(WebBrowser: TWebBrowser; HtmlText: String);


{ WebBrowser 保存成 Html 文件 }
function WebBrowserSaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName):  Boolean;

{ HTML 保存成流 }
procedure SaveDocumentSourceToStream(Document: IDispatch; Stream: TStream);

uses Axctrls, ActiveX, MSHTML, OleCtrls, SHDocVw

几个WebBrowser相关的函数--原创{ WB_Set3DBorderStyle }
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
procedure WB_Set3DBorderStyle(Sender: TWebBrowser; bValue: Boolean);
几个WebBrowser相关的函数--原创
var
几个WebBrowser相关的函数--原创  Document: IHTMLDocument2;
几个WebBrowser相关的函数--原创  Element: IHTMLElement;
几个WebBrowser相关的函数--原创  StrBorderStyle: string;
几个WebBrowser相关的函数--原创
begin
几个WebBrowser相关的函数--原创  
//去掉边框
几个WebBrowser相关的函数--原创  try
几个WebBrowser相关的函数--原创    Document :
= TWebBrowser(Sender).Document as IHTMLDocument2;
几个WebBrowser相关的函数--原创    
if Assigned(Document) then
几个WebBrowser相关的函数--原创    
begin
几个WebBrowser相关的函数--原创      Element :
= Document.Body;
几个WebBrowser相关的函数--原创      
if Element <> nil then
几个WebBrowser相关的函数--原创      
begin
几个WebBrowser相关的函数--原创        
case BValue of
几个WebBrowser相关的函数--原创          False: StrBorderStyle :
= 'none';
几个WebBrowser相关的函数--原创          True: StrBorderStyle :
= '';
几个WebBrowser相关的函数--原创        
end;
几个WebBrowser相关的函数--原创        Element.Style.BorderStyle :
= StrBorderStyle;
几个WebBrowser相关的函数--原创      
end;
几个WebBrowser相关的函数--原创    
end;
几个WebBrowser相关的函数--原创  except
几个WebBrowser相关的函数--原创    
//..
几个WebBrowser相关的函数--原创  
end;
几个WebBrowser相关的函数--原创
end;
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
{ WebBrowserLoadFromText }
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
procedure WebBrowserLoadFromText(WebBrowser: TWebBrowser; HtmlText: String);
几个WebBrowser相关的函数--原创
var
几个WebBrowser相关的函数--原创  v: Variant;
几个WebBrowser相关的函数--原创  IDoc: IHTMLDocument2;
几个WebBrowser相关的函数--原创
begin
几个WebBrowser相关的函数--原创  WebBrowser.Navigate(
'about:blank');
几个WebBrowser相关的函数--原创  
repeat
几个WebBrowser相关的函数--原创    Application.ProcessMessages;
几个WebBrowser相关的函数--原创    Sleep(
0);
几个WebBrowser相关的函数--原创  
until WebBrowser.ReadyState = READYSTATE_COMPLETE;
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创  IDoc :
= WebBrowser.Document as IHTMLDocument2;
几个WebBrowser相关的函数--原创  try
几个WebBrowser相关的函数--原创    IDoc.designMode:
='on';
几个WebBrowser相关的函数--原创    
while IDoc.readyState<>'complete' do
几个WebBrowser相关的函数--原创      Application.ProcessMessages;
几个WebBrowser相关的函数--原创    v:
=VarArrayCreate([0,0],VarVariant);
几个WebBrowser相关的函数--原创    v[
0]:= HtmlText;
几个WebBrowser相关的函数--原创    IDoc.write(PSafeArray(System.TVarData(v).VArray));
几个WebBrowser相关的函数--原创    IDoc.designMode:
='off';
几个WebBrowser相关的函数--原创    
while IDoc.readyState<>'complete' do
几个WebBrowser相关的函数--原创      Application.ProcessMessages;
几个WebBrowser相关的函数--原创  finally
几个WebBrowser相关的函数--原创    IDoc :
= nil;
几个WebBrowser相关的函数--原创  
end;
几个WebBrowser相关的函数--原创
end;
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
{ NavigateLoadFromStream }
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
procedure NavigateLoadFromStream(WebBrowser: TWebBrowser;  Stream:  TStream);
几个WebBrowser相关的函数--原创
begin
几个WebBrowser相关的函数--原创  Stream.Seek(
00);
几个WebBrowser相关的函数--原创  
if Assigned(WebBrowser.Document) then
几个WebBrowser相关的函数--原创    (WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(Stream));
几个WebBrowser相关的函数--原创
end;
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
{ WebBrowserLoadFromStream }
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
procedure WebBrowserLoadFromStream(WebBrowser: TWebBrowser;  Stream:  TStream);
几个WebBrowser相关的函数--原创
begin
几个WebBrowser相关的函数--原创  WebBrowser.Navigate(
'about:blank');
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创  
repeat
几个WebBrowser相关的函数--原创    Application.ProcessMessages;
几个WebBrowser相关的函数--原创    Sleep(
0);
几个WebBrowser相关的函数--原创  
until WebBrowser.ReadyState = READYSTATE_COMPLETE;
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创  NavigateLoadFromStream(WebBrowser, Stream);
几个WebBrowser相关的函数--原创
end;
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
{ WebBrowserSaveHTMLCode }
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
function WebBrowserSaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName):  Boolean;
几个WebBrowser相关的函数--原创
var
几个WebBrowser相关的函数--原创  ps: IPersistStreamInit;
几个WebBrowser相关的函数--原创  fs: TFileStream;
几个WebBrowser相关的函数--原创  sa: IStream;
几个WebBrowser相关的函数--原创
begin
几个WebBrowser相关的函数--原创  ps :
= WebBrowser.Document as IPersistStreamInit;
几个WebBrowser相关的函数--原创  fs :
= TFileStream.Create(FileName, fmCreate);
几个WebBrowser相关的函数--原创  try
几个WebBrowser相关的函数--原创    sa :
= TStreamAdapter.Create(fs, soReference) as IStream;
几个WebBrowser相关的函数--原创    Result :
= Succeeded(ps.Save(sa, True));
几个WebBrowser相关的函数--原创  finally
几个WebBrowser相关的函数--原创    fs.Free;
几个WebBrowser相关的函数--原创  
end;
几个WebBrowser相关的函数--原创
end;
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
{ SaveDocumentSourceToStream }
几个WebBrowser相关的函数--原创
几个WebBrowser相关的函数--原创
procedure SaveDocumentSourceToStream(Document: IDispatch; Stream: TStream);
几个WebBrowser相关的函数--原创
var
几个WebBrowser相关的函数--原创  PersistStreamInit: IPersistStreamInit;
几个WebBrowser相关的函数--原创  StreamAdapter: IStream;
几个WebBrowser相关的函数--原创
begin
几个WebBrowser相关的函数--原创  Stream.Size  :
=  0;
几个WebBrowser相关的函数--原创  Stream.Position  :
=  0;
几个WebBrowser相关的函数--原创  
if Document.QueryInterface(IPersistStreamInit, PersistStreamInit) = S_OK then
几个WebBrowser相关的函数--原创  
begin
几个WebBrowser相关的函数--原创    StreamAdapter :
= TStreamAdapter.Create(Stream, soReference);
几个WebBrowser相关的函数--原创    PersistStreamInit.Save(StreamAdapter, False);
几个WebBrowser相关的函数--原创    StreamAdapter :
= nil;
几个WebBrowser相关的函数--原创  
end;
几个WebBrowser相关的函数--原创
end;
几个WebBrowser相关的函数--原创



 



相关文章: