Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Tabs erstellen (https://www.delphipraxis.net/103480-tabs-erstellen.html)

motivierter 16. Nov 2007 11:24


Tabs erstellen
 
Hallo,


ich möchte gerne mehrere Seiten in verschiedene Tabs öffnen. Ich benutze den EmbeddedWebBrowser, kann aber keine procedure finden mit der man ein Tab öffnen kann. Embeddedwb1.navigate(url) funktioniert aber wie kann ich das in einem Tab öffnen?


Gruß

Matze 16. Nov 2007 11:28

Re: Tabs erstellen
 
Hi,

ich bin mir nicht sicher, da ich TEmbeddedWebbrowser nicht kenne, vermute aber, du musst selbst Hand anlegen und das beispielsweise mit dem PageControl umsetzen. Denn wenn das etwas ist wie TWebBrowser, dann hast du nur eine Darstellungsfläche für deine Seiten (und etwas mehr) und musst selbst das Drumrum basteln.

Sorry, falls ich komplett falsch liege.

Grüße

motivierter 16. Nov 2007 11:30

Re: Tabs erstellen
 
Gibt es eventuel ein Codeschnippsel für eine Variante mit PageControll?

Vielen Dank!

Matze 16. Nov 2007 11:47

Re: Tabs erstellen
 
Du könntest beispielsweise mit Frames arbeiten, denn da habe ich damals eine Mini-Demo zusammengestellt, die das grobe Vorgehen erläutert. Das kannst du auf dein Problem übertragen.

Pfoto 16. Nov 2007 11:51

Re: Tabs erstellen
 
das Problem wird zuvor noch sein, den angeklickten Link im Webbrowser abzufangen
und dann dynamisch einen neuen Tab bzw. eine neue Page das Control einzufügen.

Ich habe diese Funktion gefunden:

Delphi-Quellcode:
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
 {
  Hier nun dynamisch eine neue Seite in das Tab- oder Pagecontrol einfügen
 }
   with TTabSheet.Create(PageControl1) do
   begin
      PageControl := PageControl1;
      Caption := 'Neue Webseite...';
   end;
{
  ...und in die darauf erstellte Instanz des neuen WebBrowsers
   mit Hilfe der Variable "URL" die neue Seite laden...
  Und wie oben von Matze beschrieben, könntest du dies einfach
 mit Hilfe eines Frames tun.
 }

end;

Gruß
Pfoto

Edit: Bsp. erweitert.

motivierter 16. Nov 2007 12:07

Re: Tabs erstellen
 
Danke, jetzt sagt er zu mir PageControll undefinierter Bezeichner ?!

Pfoto 16. Nov 2007 12:08

Re: Tabs erstellen
 
bis du dir denn sicher, dass du
nicht ein "l" anstatt einer "1" am Ende geschrieben hast?

motivierter 17. Nov 2007 12:40

Re: Tabs erstellen
 
Das war der Fehler. So ich habe jetzt folgendes gemacht:


Delphi-Quellcode:
procedure TForm1.Embeddedwb2BeforeNavigate2(var URL);
begin
{
  Hier nun dynamisch eine neue Seite in das Tab- oder Pagecontrol einfügen
}
   Embeddedwb2.Create(PageControl1);

   with TTabSheet.Create(PageControl1) do
   begin
      PageControl := PageControl1;
      Caption := 'Neue Webseite...';
   end;
{
  ...und in die darauf erstellte Instanz des neuen WebBrowsers
   mit Hilfe der Variable "URL" die neue Seite laden...
  Und wie oben von Matze beschrieben, könntest du dies einfach
mit Hilfe eines Frames tun.
}

end;
Delphi-Quellcode:
Embeddedwb2BeforeNavigate2(url);
Jedoch connected er nicht zur Seite und er kann nur ein Tab öffnen.

dominikkv 17. Nov 2007 13:38

Re: Tabs erstellen
 
hast du dir schonmal die kommentare durchgelesen?
und was soll das hier:
Delphi-Quellcode:
Embeddedwb2.Create(PageControl1);


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.

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