Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit (https://www.delphipraxis.net/162986-internet-browser-mit-delphi-unbegrenzt-viele-registerkarten-zur-laufzeit.html)

s.h.a.r.k 12. Sep 2011 10:45

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Zitat:

Zitat von entwickler (Beitrag 1123531)
Also:

Delphi-Quellcode:
procedure Form1.Button1Click(Sender:Object);
var
  Registerkarte: TPageControl;
begin
  Registerkarte:= TPageControl.Create(Application);
  Registerkarte.Parent:= Form1;
  try
  //........Anweisung
  finally
   Registerkarte.Free;
  end;
end;

Dir ist schon klar, dass wenn du ein Objekt wieder freigibst, es verschwindet? Ich glaube nicht, dass du ein PageControl erzeugen und danach gleich wieder aus dem Speicher entfernen willst.

Zitat:

Zitat von entwickler (Beitrag 1123531)
Ach so, wo finde ich diese Grundlagen ( OOP )?

Man findet über Google sehr viel darüber :roll: Ein wenig Eigenleistung wird hier schon verlangt.

himitsu 12. Sep 2011 10:50

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Delphi-Quellcode:
X := TTabSheet.Create; // Tab erstellen
...
X.SetPageControl(PageControl1); // Tab ins PageControl
Und zu dem was Daniel sagte, macht sich ein TabControl ganz gut, a man dort ja nur die Tabs und keine Pages benötigt.
Delphi-Quellcode:
TabControl1.Tabs.Add('name des Tabs');
.
An die "Objekte" der einzelnen Strings/Tabs könnte man die Daten der jeweiligen Pages dranhängen.

InsertTab und IntertPage sind interne Methoden des TPageControl (sman sollte genauer hingucken :oops:),
welche dann aber z.B. von TTabSheet.SetPageControl verwendet werden.

Luckie 12. Sep 2011 10:56

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Jetzt habe ich mir die Mühe gemacht, jetzt will ich auch noch mal:
Delphi-Quellcode:
procedure TForm1.btnAddTabClick(Sender: TObject);
var
  ts: TTabSheet;
begin
  ts := TTabSheet.Create(nil);
  ts.Caption := IntToStr(pgcTest.PageCount) + '. Sheet';
  ts.PageControl := pgcTest;
  pgcTest.ActivePageIndex := pgcTest.PageCount - 1;
end;

procedure TForm1.btnRemoveTabClick(Sender: TObject);
var
  ts: TTabSheet;
begin
  ts := pgcTest.ActivePage;
  ts.Free;
end;

entwickler 12. Sep 2011 14:02

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Wow, da kam in den letzten Stzunden einiges zusammen. Danke für den Code, und ja, ich werde mich über google oder so über die OOB informieren; dass ich Eigenleistung einbringen muss, ist mir klar.
Es funzt sogar bei meiner Delphi-Version :thumb:. Danke für all die Hinweise, Tipps, etc. :hi:

s.h.a.r.k 12. Sep 2011 15:14

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Will nicht kleinlich sein, aber das "Ding" schimpft sich nicht Objekt-orientierte Brogrammierung, sondern OOP -> Programmierung :stupid:

entwickler 12. Sep 2011 15:17

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Oops :oops: Sorry, s.h.a.r.k. OOP, so besser?

rollstuhlfahrer 12. Sep 2011 19:56

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Leute, macht es doch dem armen Jungen nicht so schwer.

@entwickler: Nimm mal ein Form, klatsche da ein TPageControl drauf, erstelle ein TTabSheet darin (wenn du nicht weißt, wie das geht: GIDF. Dann setze da mal ein TWebbrowser-Control drauf und versuche mal, dass du das ans Laufen bekommst.
Allerdings vorweg: Einen IE in seiner vollen Funktion wirst du trotz IE-ActiveX-Komponente (TWebbrowser, Trident) nicht hinbekommen, also schlag dir den Gedanken gleich mal aus dem Kopf.

Bernhard

Sir Rufo 12. Sep 2011 21:02

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal eine auf die Schnelle zusammengeklickte Anwendung (s. Anhang).

Benutzt wird ein TPageControl und eine Form mit dem eigentlichen Browser.

Das Geheimnis liegt dann hier:
Delphi-Quellcode:
procedure TFMain.btnNewTabClick( Sender : TObject );
begin
  // Eine Form mit dem Browser erzeugen
  with TFBrowser.Create( pgc1 ) do
    begin
      // Andocken des Browser-Formulars an das Page-Control
      ManualDock( pgc1, nil, alClient );
      // Anzeigen des Formulars
      Show;
    end;
end;
Was man dann in dem Formular selber macht ist dabei schon wieder egal :)
In diesem Falle ist dort halt ein WebBrowser

WM_CLOSE 12. Sep 2011 21:15

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
ist die zip kaputt? Das meldet mir 7zip: Es eurde versucht den Dateizeiger vor den Anfang der Datei zu setzten

Sir Rufo 12. Sep 2011 21:27

AW: Internet Browser mit Delphi: unbegrenzt viele Registerkarten zur Laufzeit
 
Zitat:

Zitat von WM_CLOSE (Beitrag 1123847)
ist die zip kaputt? Das meldet mir 7zip: Es eurde versucht den Dateizeiger vor den Anfang der Datei zu setzten

Da haben die Browser in meiner VM doch irgendwie rumgehackt ... nun ja, jetzt sollte die ZIP funktionieren :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:15 Uhr.
Seite 3 von 4     123 4      

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