[DELPHI] Wyświetlanie kodu HTML (jako stronę - nie poprzez stronę)

garfield1

Użytkownik
Dołączył
Marzec 26, 2012
Posty
18
Chciałbym wyświetlić iframe w okienku (wielkość sam sobie dopasuję), tylko nie wiem jak to zrobić, aby ta strona była wyświetlana w programie (pokazywało), bez owijania.

Włączam program pokazuje mi kod HTML jaki sobie życzę, w tym wypadku kod z iframe (zawartość innej strony).
Kod oczywiście tak jakby był w pliku html i wyświetlony w przeglądarce z tą różnicą, że w okienku.

Posiadam komponent Embedded Web Browser do D7. I wszystkie z Delphi 7 EP.

PS. Wiem, mam zawsze problem z wytłumaczeniem o co chodzi i dlatego takie to długie :D
 

ProQix

Użytkownik
Dołączył
Czerwiec 11, 2008
Posty
86
w iframe dopisz border="0" myślę że o to i chodzi, naucz się podstawowych nazw obiektów to będzie łatwiej opisywać ci problemy, an nie to jak ty robisz, zabierasz się za bóg wie co i nie możesz sam sobie poradzić bo brak ci wiedzy...
 

garfield1

Użytkownik
Dołączył
Marzec 26, 2012
Posty
18
Nie chodzi mi o to, żeby poprzez stronę wyświetlało, tylko bezpośrednio w programie, co mi daje ten border=0 jak chodzi mi o to czy istnieje możliwość, wyświetlenie kodu HTML za pomocą komponentu. Samo wklejenie iframe nie wyświetli mi tego jako strony w programie ;/

@EDIT Wiem za co się zabieram, a po wiedzę zwracam się do Was jak to wykonać, bo googlowałem i nic z tego, tylko wyczytywanie źródła ze strony znalazłem.
 

djmentos

Użytkownik
Dołączył
Maj 1, 2007
Posty
1868
Jak dobrze rozumiem chcesz wyświetlić kod HTML w programie. Skoro posiadasz Embedded WebBrowser, to możesz "wszczepić" do niego kod HTML. Tu masz jakąś moją, starą funkcję:

Kod:
procedure LadujHTML(WebBrowser: TEmbeddedWB; 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;
 

garfield1

Użytkownik
Dołączył
Marzec 26, 2012
Posty
18
Ok, sprawdzę w najbliższym czasie : ))

@EDIT Jakie komponenty potrzebne oprócz: EmbeddedWB
i gdzie wkleić ten mój iframe opcjonalnie z dodanym meta i tagami html na początku i końcu?

@EDIT2 Poczytałem jeszcze raz i znalazłem rozwiązaniem teraz to tylko upiększam :D

@EDIT3 No i oczywiście dziękuję bardzo za pomoc. Można zamknąć.

@EDIT4 Dobra, jeszcze pytanie, jak za pomocą EmbeddedWB zmienić UserAgenta, bo mi wyświetla ciągle pasek przewijania pionowego : / mimo scrooling=no ;/

@EDIT5 Wiem, jestem niezły przypałowiec, w EmbeddedWB było coś DisableScrollbar i jest ok. UserAgenta też tam znalazłem, Dałem euDefaul i wpisałem na moją mozille :p
 
Ostatnia edycja:
Do góry Bottom