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