AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Webbrowser Zoom

Offene Frage von "jik"
Ein Thema von froschprinz · begonnen am 21. Jan 2012 · letzter Beitrag vom 10. Aug 2017
Antwort Antwort
froschprinz

Registriert seit: 24. Dez 2010
Ort: Graben, Bayern
34 Beiträge
 
Delphi 7 Architect
 
#1

Webbrowser Zoom

  Alt 21. Jan 2012, 17:36
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.

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)
Ulli
  Mit Zitat antworten Zitat
froschprinz

Registriert seit: 24. Dez 2010
Ort: Graben, Bayern
34 Beiträge
 
Delphi 7 Architect
 
#2

AW: Webbrowser Zoom

  Alt 21. Jan 2012, 21:35
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
WebBrowser1.OleObject.Document.Body.Style.Zoom Ist eigentlich Müll, da die meisten Seiten dabei hops gehen.
Ulli
  Mit Zitat antworten Zitat
madtom

Registriert seit: 24. Feb 2005
Ort: Hamburg
115 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Webbrowser Zoom

  Alt 22. Jan 2012, 10:09
Hallo,

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

Registriert seit: 17. Feb 2015
Ort: Klagenfurt
50 Beiträge
 
Delphi 12 Athens
 
#4

AW: Webbrowser Zoom

  Alt 10. Aug 2017, 11:33
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
Martin Danesch
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:02 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