Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Höhe eines Frames (https://www.delphipraxis.net/130784-hoehe-eines-frames.html)

API 13. Mär 2009 05:47


Höhe eines Frames
 
Hallo

Wie kann man die Höhe eines Frame setzen via IHtmlDocument2?

Das Setzen von IWebbrowser2.Height zeigt keine Wirkung.

API 14. Mär 2009 04:51

Re: Höhe eines Frames
 
# PUSH #

omata 14. Mär 2009 18:10

Re: Höhe eines Frames
 
Da du hier nicht zeigst, was du bis jetzt wie machst, kann dir auch keiner konkret helfen...

TWebBrowser OleObject and Document data
How to get all documents for all frames from a TWebbrowser
Load TWebBrowser's document content from stream or string

folgende Units sind ebenfalls wichtig: MSHTML, ActiveX

API 14. Mär 2009 20:16

Re: Höhe eines Frames
 
Anders gefragt: Kann man die Framehöhe via JS setzen?
Falls ja, kann man sie sicher auch setzen via IHtmlDocument2?

omata 14. Mär 2009 20:18

Re: Höhe eines Frames
 
Ja sicher, wie sieht den dein Framequellcode aus. Ein funktionierendes Beispiel wäre sehr schön, dann könnte man nämlich konkret an deiner Problemstelle weiterarbeiten und zusammen vielleicht auch eine Lösung finden.

Schade, das von deiner Seite da null kommt.

JS integrieren, vielleicht hilft das hier weiter.

API 14. Mär 2009 21:46

Re: Höhe eines Frames
 
Lade z.B die Seite http://de.selfhtml.org/javascript/be...zweiframes.htm in einen TWebbrowser und setze die Höhe des Frames

Dabei kann GetFrameDoc verwendet werden, welches ein IHTMLDocument2 zurück gibt.

Delphi-Quellcode:
function GetFrameDoc(doc: IHTMLDocument2;v: OleVariant): IHTMLDocument2;
var
  win: IHTMLWindow2;
  u: IUnknown;
begin
  u := doc.frames.item(v);
  if Assigned(u)
  and Succeeded(u.QueryInterface(IHTMLWindow2, win))
    then Result := win.Document
    else Result := nil;
end;
Zitat:

JS integrieren, vielleicht hilft das hier weiter.
werde ich mir mal anschauen.

omata 14. Mär 2009 22:14

Re: Höhe eines Frames
 
Bei einem IFRAME geht es folgendermaßen...

Code:
<html>
<body>
 <h1>Bild zum Scrollen</h1>
 <iframe src="frame.html" name="frame" width="300" height="100">
   

Ihr Browser kann leider keine eingebetteten Frames anzeigen:</p>
 </iframe>
</body>
</html>
Delphi-Quellcode:
  WebBrowser1.OleObject.document.getElementsByName('frame').Item(0).style.height:=400;
Bei einem normalen Frame geht das leider nicht. Dort wird die Größe ja im Frameset definiert...

Code:
<html>
<frameset name="f1" cols="196,85%">
 <frame src="zweiframes_links.htm" name="links">
 <frameset name="f2" rows="212,73%">
   <frame src="zweiframes_to.htm" name="oben">
   <frame src="zweiframes_tu.htm" name="unten">
 </frameset>
</frameset>
</html>
Breitenänderung...
Delphi-Quellcode:
  WebBrowser1.OleObject.document.getElementsByName('f1').Item(0).style.cols:='10%,90%';
Höhenanderung...
Delphi-Quellcode:
  WebBrowser1.OleObject.document.getElementsByName('f1').Item(0).style.rows:='10%,90%';

API 15. Mär 2009 08:43

Re: Höhe eines Frames
 
Zitat:

Bei einem normalen Frame geht das leider nicht. Dort wird die Größe ja im Frameset definiert...
Schade, ich sollte es aber bei einem normalen Frame machen.
Man kan ja die z.B Framehöhe auch per Maus verändern (wenn NORESIZE beim Frame nicht gesetzt ist).

Dann sollte man es doch auch per Code machen können?

omata 15. Mär 2009 13:21

Re: Höhe eines Frames
 
Ja, kann man ja auch. Ich habe doch oben ein Beispiel gezeigt.
Diese Änderung muss aber scheinbar im frameset durchgeführt werden, das geht natürlich auch über Pixel und nicht nur in Prozent. Wichtig ist eben nur, dass der Frameset auch einen Namen oder eine ID erhält.

API 16. Mär 2009 06:06

Re: Höhe eines Frames
 
Zitat:

Zitat von omata
Ja, kann man ja auch. Ich habe doch oben ein Beispiel gezeigt.
Diese Änderung muss aber scheinbar im frameset durchgeführt werden, das geht natürlich auch über Pixel und nicht nur in Prozent. Wichtig ist eben nur, dass der Frameset auch einen Namen oder eine ID erhält.

Danke, werde ich so probieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz