Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Anzeige von mehreren Instanzen sauber lösen (https://www.delphipraxis.net/25920-anzeige-von-mehreren-instanzen-sauber-loesen.html)

Dragon27 14. Jul 2004 23:14


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:

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;
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.

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

Dragon27 15. Jul 2004 08:31

Re: Anzeige von mehreren Instanzen sauber lösen
 
Mach oben schieb..... :duck:

supermuckl 15. Jul 2004 08:34

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

Dragon27 15. Jul 2004 08:38

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

supermuckl 15. Jul 2004 09:15

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.

ibp 15. Jul 2004 09:18

Re: Anzeige von mehreren Instanzen sauber lösen
 
so...

Delphi-Quellcode:

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;
.. dann solltest du noch bei TTabControl im onchange ereigis, das jeweilige newwindow sichtbar machen, index des tabs ist der tag!

gruß rené

supermuckl 15. Jul 2004 09:26

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

Dragon27 15. Jul 2004 09:33

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!

ibp 15. Jul 2004 09:41

Re: Anzeige von mehreren Instanzen sauber lösen
 
Zitat:

Zitat von Dragon27
danke für euren Code und die Mühe!!!!

... gerne

Zitat:

Zitat von Dragon27
Da ist aber noch ein Problem, es wird zwar alles schön angezeigt, jedoch ergiebt sich da so eine Art "Spiegeleffeckt"

... hä? genauer bitte...

Zitat:

Zitat von Dragon27
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).

... dann muss die information ja jedesmal neu heruntergeladen werden, wenn du immer wieder die adresse änderst!

... 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...

Dragon27 15. Jul 2004 10:43

Re: Anzeige von mehreren Instanzen sauber lösen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,


Zitat:

Zitat:

Dragon27 hat folgendes geschrieben:

Da ist aber noch ein Problem, es wird zwar alles schön angezeigt, jedoch ergiebt sich da so eine Art "Spiegeleffeckt"

... hä? genauer bitte...
also beiligend das Probelm als Bild *g*


Weiß nicht wahrscheinlich is die Lösung wieder total easy aber ich steh grad auf der Leitung :?

Dake und Gruß


Andy


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 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