![]() |
Body.Style.Zoom
Hallo
um eine Webbrowser zu zoomen, sind die 2 Varianten möglich :
Delphi-Quellcode:
Ich wollte den Zoomfaktor so eingeben :
WebBrowser1.OleObject.Document.Body.Style.Zoom :=2;
WebBrowser1.OleObject.Document.Body.Style.Zoom :='200%';
Delphi-Quellcode:
var
zoom : Real; creenwidth : Integer; begin creenwidth := Screen.MonitorFromWindow(Handle).Width; zoom:= creenwidth div Form1.width; WebBrowser1.OleObject.Document.Body.Style.Zoom :=zoom; // passiert nichts |
Re: Body.Style.Zoom
Ich finde hier zwar keine direkte Frage, aber ich gehe mal davon aus, es bezieht sich auf das "passiert nichts" im Quellcode.
Hast du mal kontrolliert, was in zoom drinsteht? Vielleicht ist es ja 1 und es wird deshalb nichts gezoomt. gruß, |
Re: Body.Style.Zoom
Hallo
ich have "div" durch "/" ersetzt dann passiert mindestens was. ich möchte den Webbrowser bei Navigate zoomen
Delphi-Quellcode:
procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant); begin //WebBrowser1.OleObject.Document.Body.Style.Zoom:=1.5; WebBrowser1.OleObject.Document.Body.Style.Zoom:='150%'; // Error aber Delphi Debuger gibt nichts über den Fehler ! end; |
Re: Body.Style.Zoom
Zoom ist bestimmt kein String. Schalt endlich mal das ein, was zwischen Deinen Ohren sitzen sollte, sonst hilft Dir bald niemand mehr.
|
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Vorher habe ich so versucht:
Delphi-Quellcode:
procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant); var Doc: IHTMLDocument2; body: OleVariant; begin Doc := IHTMLDocument2(WebBrowser1.Document); body := Doc.Body; // body.Style.Zoom := '150%'; body.Style.Zoom := 1.50;// hier kommt der Fehler ! Und wie gesagt, Delphi Debuger sagt nicht darüber ! end; |
Re: Body.Style.Zoom
Welcher Fehler wird den angezeigt?
|
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
sehe Anhang |
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Zitat:
Aber nicht innerhalb dieses Ereignisses |
Re: Body.Style.Zoom
Zitat:
Es kann eine Eigenschaft nicht lesen. Also ist entweder Body oder Body.Style nicht verfügbar. Ich würde ja mal sagen, direkt nach dem Navigieren ist der Body der Seite noch nicht geladen. Das passiert erst bei einem späteren Event. |
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Zitat:
Äh.. heisst das dann etwa, dass Delphiturbo also erneut weder in die Hilfe geguckt noch mitgedacht hat? :wall: |
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Zitat:
Mal F1 gedrückt Beschreibung In der Ereignisbehandlungsroutine für OnNavigateComplete2 können Sie nach dem erfolgreichen Navigieren zu einer neuen Ressource bestimmte Aktionen durchführen. Das Ereignis kann bereits ausgelöst werden, bevor das Dokument vollständig heruntergeladen ist. In diesem Fall wurde aber zumindest ein Teil des Dokuments empfangen und ein Anzeigeobjekt für das Dokument erstellt. |
Re: Body.Style.Zoom
Geladen wird er ja, du musst warten bis das passiert ist (OnDocumentComplete)
|
Re: Body.Style.Zoom
Zitat:
Aber eventuell gibt es ja ein Ereigniss das ausgelöst wird wenn das Dokument komplett geladen wurden? |
Re: Body.Style.Zoom
Zitat:
Zitat:
|
Re: Body.Style.Zoom
Zitat:
Somit die Frage: Was findest du daran so lustig? |
Re: Body.Style.Zoom
Ich bin nun fast soweit :mrgreen:
Delphi-Quellcode:
Quelle :
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant); var CurWebrowser: IWebBrowser; TopWebBrowser: IWebBrowser; Document: OleVariant; WindowName: string; Doc: IHTMLDocument2; body: OleVariant; begin Doc := IHTMLDocument2(WebBrowser1.Document); body := Doc.Body; CurWebrowser := pDisp as IWebBrowser; if CurWebrowser = TopWebBrowser then begin body.Style.Zoom := '100%'; end else begin body.Style.Zoom := '150%'; end; end; ![]() |
Re: Body.Style.Zoom
Da läuft es einem kalt den Rücken runter wenn ich so einen Quatsch an Code sehe :roll:
|
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Arggggg, schau dir mal TopWebbrowser an ...
|
Re: Body.Style.Zoom
Dir scheint das Grundverständnis für die Vorgänge zu fehlen.
Mit .Navigate wird das Laden angestossen. Die Fertigstellung im DocumentComplete-Event. |
Re: Body.Style.Zoom
Achso
Ich habe nur die Tutorial komplett getestet. Also so natürlich :wink:
Delphi-Quellcode:
// in uses : MSHTML
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var Document: OleVariant; Doc: IHTMLDocument2; body: OleVariant; begin Doc := IHTMLDocument2(WebBrowser1.Document); body := Doc.Body; body.Style.Zoom := '150%'; end; |
Re: Body.Style.Zoom
So langsam scheint das was zu werden.
|
Re: Body.Style.Zoom
Ich wollte kein neues Thema öffnen
ich möchte statt '150%' eine Variable z.B. zoom nehmen wie soll diese Variable eingegeben werden ? zoom = 150
Delphi-Quellcode:
...
//Body.Style.Zoom :='150%'; Body.Style.Zoom :='(Pchar(zoom) + Pchar('%'))'; |
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
Der Typ von zoom ist in diesem Fall Integer
|
Re: Body.Style.Zoom
Was bekommst Du hier angezeigt?
Delphi-Quellcode:
ShowMessage(Format('%d%%',[150]));
|
Re: Body.Style.Zoom
ja als Message funktioniert :
Delphi-Quellcode:
aber so nicht:
ShowMessage(Format('%d%%',[zoom])); // OK
Delphi-Quellcode:
Body.Style.Zoom :='Format('%d%%',[zoom])'; // illegal Character in InputFile : '%' ($25)
|
Re: Body.Style.Zoom
So, wo ist denn hier jetzt der Unterschied(genau hinsehen)?
1.
Delphi-Quellcode:
2.
ShowMessage(Format('%d%%',[zoom]));
Delphi-Quellcode:
Das war mein letzter Wink mit dem Zaunpfahl, sonst muss ich Dir den ganzen Jägerzaun um die Ohren hauen :mrgreen:
ShowMessage('Format('%d%%',[zoom])');
|
Re: Body.Style.Zoom
Der Unterschied, 1. true u. 2. false
|
Re: Body.Style.Zoom
An dieser Stelle falle ich komplett vom Glauben ab. Machst du das gewerblich!? Wenn ja, dann gibts ein letztes Stoßgebet für die Kunden von mir.
|
Re: Body.Style.Zoom
Ne eher die Tatsache, dass der IE keine Delphi-Funktionen versteht
|
Re: Body.Style.Zoom
Zitat:
|
Re: Body.Style.Zoom
:wall:
Delphiturbo. Ich weiss nicht wie ich das jetzt ausdrücken soll, ohne Dir zu Nahe zu treten. Ich bin einfach ehrlich: Du wirst nie im Leben auch nur ein Stück Quellcode selber schreiben können, das auch nur Ansatzweise das tut, was Du von dem Code erwartest. Du kannst ja noch nichtmal Strings Escapen, und das ist nun wirklich so ziemlich das allereinfachste was es gibt. Tu Dir (und uns allen) einen Gefallen und geb das Programmieren auf. Du bist wirklich nicht dafür geeignet. Glaub es uns einfach. Das hat so keinen taug. |
Re: Body.Style.Zoom
Zitat:
rollstuhlfahrer EDIT: Der rote Kasten hat jetzt auch bei mir mal Urlaub gehabt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz