Afficher contenu html sans charger fichier html

Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008 - 3 févr. 2006 à 18:34
ELCouz Messages postés 135 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 25 juillet 2008 - 10 mai 2007 à 16:49
bonjour,

Je cherche un composant qui affiche du contenu html comme TwebBrowser mais sans avoir à charger de fichier html. Juste en lui ajoutant des lignes de code html comme pour un Tmemo. Il faudrait qu'il se comporte de la même manière que Twebbrowser: pouvoir cliquer sur les liens de la page, des gifs, etc...

Ca existe?

4 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 37
4 févr. 2006 à 14:13
tu peu utilise le TWebBrowser en remplissant le OleContainer :

WebBrowser1.OleContainer.Document. blablabla

La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
Bestdoud Messages postés 243 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 28 décembre 2008
8 févr. 2006 à 17:45
apparement olecontainer n'existe pas avec le composant webbrowser

par contre y a oleobject. mais je ne peux pas ecrire la suite
0
ELCouz Messages postés 135 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 25 juillet 2008
10 mai 2007 à 16:40
salut
assaye moi ceci.
ce qui te faut 2 bouttons , un memo, un web browser + Uses MSHTML, ActiveX, SHDocVw;

procedure TForm1.Button1Click(Sender: TObject);
var
  WebDoc: HTMLDocument;
  WebBody: HTMLBody;
begin
  WebDoc := Tform1.WebBrowser1.Document as HTMLDocument;
  WebBody := WebDoc.body as HTMLBody;
  WebBody.insertAdjacentHTML('BeforeEnd', Memo1.Text);
end;

procedure LoadHTML(WebBrowser: TWebBrowser; HTMLCode: string);
var
  sl: TStringList;
  ms: TMemoryStream;
begin
  WebBrowser.Navigate('about: pas grand chose :P');
  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 TForm1.Button2Click(Sender: TObject);
begin
  LoadHTML(webbrowser1,Memo1.Text);
end;

laurent
0
ELCouz Messages postés 135 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 25 juillet 2008
10 mai 2007 à 16:49
jai oublier de preciser que cest pour inserer du code html a la page deja afficher

laurent
0
Rejoignez-nous