Einzelnen Beitrag anzeigen

dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#1

TWebbrowser.Height auf über 32767 setzen

  Alt 10. Feb 2010, 18:06
Hallo,

ich habe, um einen Screenshot einer Webseite zu machen, folgenden Code (Quelle):
Delphi-Quellcode:
with WB do
  begin
    Document.QueryInterface(IHTMLDocument2, iDoc1);
    Web := ControlInterface;
    TControl(WB).Visible := Boolean(0);
    Height := OleObject.Document.Body.ScrollHeight + 20;
    Width := 1200;
    Bild := GetBitmapFromBrowser(Web, Height, Width);
    TControl(WB).Visible := Boolean(1);
  end;
Das ganze klappt auch ganz gut bei "normalen" Webseiten. Ein Problem habe ich aber bei sehr langen Webseiten... und zwar wenn die Webseite über 32767 Pixel lang ist. WB.OleObject.Document.Body.ScrollHeight liefert zwar die korrekte Höhe, der Webbrowser an sich lässt sich aber nur bis 32767 Pixel vergrößern und der Rest wird im Bild abgeschnitten.

So wie es aussieht wird die Höhe intern als Smallint gespeichert (auch wenn .Height ein Integer ist). Hat jemand eine Idee wie ich den Webbrowser größer bekomme?


mfg.Dominik
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat