![]() |
Anzeige von mehreren Instanzen sauber lösen
Hallo,
ich habe mich jetzt gerade dran gemacht einen kleinen Webbrowser zu coden. Habe nun folgednen Code:
Delphi-Quellcode:
Da diese Lösung nicht so toll ist (unübersichtlich) würde ich gerne von euch wissen wie man soetwas mit Tabs lösen kann hab den Code nähmlich nur aus nem Buch mit lauter so kleinen Beispielen.procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var NewWindow: TForm1; begin NewWindow := TForm1.Create(self); NewWindow.Show; newwindow.WindowState:=wsnormal; ppDisp := NewWindow.Webbrowser1.DefaultDispatch; end; Mhm vielleicht ist es aber auch besser nur alle Fenster wie im IE schön in der Taskleiste als extra Buttpn anzuzeigen..... Wie gesagt keine Ahnung was möglich ist ...... ;-) Danke |
Re: Anzeige von mehreren Instanzen sauber lösen
Mach oben schieb..... :duck:
|
Re: Anzeige von mehreren Instanzen sauber lösen
jo benutz halt tabs wie beim opera z.b.
nimm die tab componente und erstell zur laufzeit ein tab wenn du ein neues browserfenster öffnest und erstell dadrauf wiederum ein laufzeit http dings :) musst halt parent vom http auf das tab setzen wo es angezeigt werden soll usw |
Re: Anzeige von mehreren Instanzen sauber lösen
Hallo Supermuckel,
Danke für deinen Beitrag jedoch habe ich sowas noch nie gemacht und hätte jetzt gerne erfahren wie man sowas macht.... :P Ich komm da grad so mit diesem Create(self) mit Gruß :-D Andy |
Re: Anzeige von mehreren Instanzen sauber lösen
also ich hab jetzt mal kurz probieren wollen aber irgendwie komm ich mit dem Twebbrowser nich klar.. kann das parent nicht setzen damit der irgendwo drauf hängt.. vielleicht kann ja jemand dabei helfen !
man nehme ein Tpagecontrol und einen button
Delphi-Quellcode:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, OleCtrls, SHDocVw; type TForm1 = class(TForm) PageControl1: TPageControl; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var webbrowserhandle: Twebbrowser; tab : Ttabsheet; begin tab := ttabsheet.Create(form1.pagecontrol1); tab.Visible := true; tab.pagecontrol := form1.pagecontrol1; tab.Caption := 'www.google.de'; webbrowserhandle := Twebbrowser.Create(pagecontrol1); //webbrowserhandle.Parent := tab; <- geht nicht.. nur lesbar ( wegen dem OLE krempel ? ) webbrowserhandle.Align := alclient; webbrowserhandle.Navigate('www.google.de'); // ggf nach closen eines tabs die handles wieder freigeben end; end. |
Re: Anzeige von mehreren Instanzen sauber lösen
so...
Delphi-Quellcode:
.. dann solltest du noch bei TTabControl im onchange ereigis, das jeweilige newwindow sichtbar machen, index des tabs ist der tag!procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var NewWindow: TForm1; idx:integer; begin idx:=tabControl1.Tabs.Add('neues Tab'); NewWindow := TForm1.Create(self); NewWindow.Parent:=tabControl1; NewWindow.Align:=alclient; NewWindow.Tag:=idx; NewWindow.Show; newwindow.WindowState:=wsnormal; ppDisp := NewWindow.Webbrowser1.DefaultDispatch; end; gruß rené |
Re: Anzeige von mehreren Instanzen sauber lösen
häh ? das is ja mal was ganz anderes o_O
wollte eigentlich nur wissen wie ich das parent des Twebbrowsers auf ein Tab legen kann und net neue forms createn usw o_O |
Re: Anzeige von mehreren Instanzen sauber lösen
Hallo zusammen,
danke für euren Code und die Mühe!!!! Da ist aber noch ein Problem, es wird zwar alles schön angezeigt, jedoch ergiebt sich da so eine Art "Spiegeleffeckt" Habt Ihr da noch einen Vorschlag wie man auch einfach da geliche Fenster mit einer anderen Adresse öffnen kann und dieses dann auch in der Taskleiste erscheint (like IE). Recht herzlichen Dank! |
Re: Anzeige von mehreren Instanzen sauber lösen
Zitat:
Zitat:
Zitat:
... du könntest ja auch für jedes newwindow zusätzlich auf der form einen button erstellen, der dann jeweils das fenster in den vordergrund holt ist dann auch nichts wirklich anderes als mein bsp... |
Re: Anzeige von mehreren Instanzen sauber lösen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Zitat:
Weiß nicht wahrscheinlich is die Lösung wieder total easy aber ich steh grad auf der Leitung :? Dake und Gruß Andy |
Re: Anzeige von mehreren Instanzen sauber lösen
...aha, kann man den nicht nur das browserfenster in den tab legen, hab mit twebbrowser noch nix gemacht, aber bei dir sieht das so aus als wenn du die ganze form(incl buttons editfelder etc) in das jeweilige tab legst.
|
Re: Anzeige von mehreren Instanzen sauber lösen
Hallo, ne ich glaube nicht und es ist auch das Problem da, dass man die Tabs nicht überblicken kann....
Ist das wirklich so schwer einfach das Programm nochmal zu starten und Ihm die Neue Webseite zu übergeben? Oder kann man vielleicht das mit den Tabs richtig lösen??? Bin scho die ganze Zeit am Probieren aber heute wills einfach nicht :cry: Gruß Andy |
Re: Anzeige von mehreren Instanzen sauber lösen
poste doch mal das Projekt....
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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-2025 by Thomas Breitkreuz