



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; |
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; |
Fonte: http://www.activedelphi.com.br/forum/viewtopic.php?t=46169&sid=790ff9bd178c79b87173517d0c26c2d1
Você precisa fazer o login para publicar um comentário.
esta abrindo html com caracteres especiais não funciona.