Como carregar código HTML diretamente no WebBrowser?
O TWebBrowser é um componite que funciona como um navegador,
assim facilmente podemos navegar para qualquer página, inclusive
abrir arquivos salvos em disco.
Mas caso seja necessário carregar um código HTML diretamente nele,
sem ter que salvar um arquivo é possível?
Felizmente sim, veja o procedimento:
uses
SHDocVw, ActiveX;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| procedure WBLoadHTML(WebBrowser: TWebBrowser; HTMLCode: string) ;
var
sl: TStringList;
ms: TMemoryStream;
begin
WebBrowser.Navigate('about:blank') ;
while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
Application.ProcessMessages;
if Assigned(WebBrowser.Document) then
begin
sl := TStringList.Create;
try
ms := TMemoryStream.Create;
try
sl.Text := HTMLCode;
sl.SaveToStream(ms) ;
ms.Seek(0, 0) ;
(WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)) ;
finally
ms.Free;
end;
finally
sl.Free;
end;
end;
end; |
procedure WBLoadHTML(WebBrowser: TWebBrowser; HTMLCode: string) ;
var
sl: TStringList;
ms: TMemoryStream;
begin
WebBrowser.Navigate('about:blank') ;
while WebBrowser.ReadyState < READYSTATE_INTERACTIVE do
Application.ProcessMessages;
if Assigned(WebBrowser.Document) then
begin
sl := TStringList.Create;
try
ms := TMemoryStream.Create;
try
sl.Text := HTMLCode;
sl.SaveToStream(ms) ;
ms.Seek(0, 0) ;
(WebBrowser.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms)) ;
finally
ms.Free;
end;
finally
sl.Free;
end;
end;
end;
Exemplo de uso:
1
2
3
4
5
6
7
8
| procedure TForm1.FormCreate(Sender: TObject) ;
var
sHTML : string;
begin
sHTML := '<a>GOTO</a>' +
'<b>Show Delphi</b>';
WBLoadHTML(WebBrowser1,sHTML) ;
end; |
procedure TForm1.FormCreate(Sender: TObject) ;
var
sHTML : string;
begin
sHTML := '<a>GOTO</a>' +
'<b>Show Delphi</b>';
WBLoadHTML(WebBrowser1,sHTML) ;
end;
Fonte: http://www.activedelphi.com.br/forum/viewtopic.php?t=46169&sid=790ff9bd178c79b87173517d0c26c2d1
-
Giovani Da Cruz
-
17.529 views
- 1 comentários
- 6 de novembro de 2016
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo
esta abrindo html com caracteres especiais não funciona.