Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Webbrowser Zoom (https://www.delphipraxis.net/165919-webbrowser-zoom.html)

froschprinz 21. Jan 2012 16:36

Webbrowser Zoom
 
Hallo zusammen,
bitte nicht gleich zucken, wenn ich mit diesem Thema komme. Ich weis es wurde schon in vielen Foren behandelt. Aber leider funktioniert das mit dem Zoomen nicht auf allen Seiten zufriedenstellend.

Ich verwende z.B.

Delphi-Quellcode:
WebBrowser1.OleObject.Document.Body.Style.Zoom :='150%';
Und bei vielen Seiten geht das auch. Aber z.B. werden bei Google nicht alle Elemente gezoomt und die Seite sieht dann ganzschön dämlich aus.
Gleichen Effekt hat auch:

Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
   const pDisp: IDispatch; var URL: OleVariant);
 var
 zoom:integer;
   Document: OleVariant;
   Doc: IHTMLDocument2;
   body: OleVariant;
 begin
   zoom:=150;
   Doc := IHTMLDocument2(WebBrowser1.Document);
   body := Doc.Body;
   body.Style.Zoom := Format('%d%%',[zoom]);
 end;
Auch bei Seiten die Frames enthalten wird nicht alle gezoomt. Die Funktionen zommen ja nur den Body. Und was ist mit dem Rest?
Habt Ihr eine Lösung. Es muss doch möglich sein alles zu Zoomen.
Oder gibt es da irgendeinen Trick (z.B.Bildschirmauflösung vom Webbrowser verändern)

froschprinz 21. Jan 2012 20:35

AW: Webbrowser Zoom
 
Hallo Leute,

ich habe die Lösung selbst gefunden. Und die ist auch noch simpel. Ich habe bei den c++ Leuten gespickt (pfui!)
Falls jemand mal vor dem gleichen Problem steht:

Delphi-Quellcode:
procedure TForm1.TrackBar1Change(Sender: TObject);
var zoom:olevariant;
begin
 zoom:=TrackBar1.Position;
 WebBrowser1.ExecWB(63, OLECMDEXECOPT_PROMPTUSER,zoom);
end;
wobei die 63=OLECMDID_OPTICAL_ZOOM entspricht.

Klappt Super und verzerrt die Seite nicht. Das Zoomen über
Delphi-Quellcode:
WebBrowser1.OleObject.Document.Body.Style.Zoom
Ist eigentlich Müll, da die meisten Seiten dabei hops gehen.

madtom 22. Jan 2012 09:09

AW: Webbrowser Zoom
 
Hallo,

auf http://www.swissdelphicenter.ch/de/showcode.php?id=1537 wurde das auch schon mal beschrieben, allerdings mit dem falschen (1.) Parameter.

jik 10. Aug 2017 10:33

AW: Webbrowser Zoom
 
Hallo Leute,

das Thema ist zwar schon angestaubt, aber für mich aktuell.

Bei der Lösung mit
Code:
procedure TForm1.TrackBar1Change(Sender: TObject);
var zoom:olevariant;
begin
 zoom:=TrackBar1.Position;
 wb.ExecWB(63, OLECMDEXECOPT_PROMPTUSER,zoom);
end;
erhalte ich diese Fehlermeldung:
EOleException Versuch, ein Drop-Ziel zu widerrufen, das nicht registriert wurde

Welchen Wert hast du bei der Trackbar? Kann ja nur ein ganzzahliger sein, oder? Ich habe es mit 150, 1.5, 20 ... probiert, es kommt immer diese Meldung.
wb ist TEmbeddedWB.

Hat jemend einen Tipp?

Viele Grüße
jk


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz