![]() |
Problem mit PageControl
Hallo,
ich erstelle durch einen Button eine neue Seite im PageCOnrtol. Hierrauf wird nun ein TWebbrowser erzeugt. WEnn ich nun die Seite wechsel, soll er auch in der adresseleiste die aktuelle URL aus dem aktuellen Tab auslesen. Welche Methode im PageControl ist richtig? |
Re: Problem mit PageControl
Wo steht die Adresse denn drin? Im Titel-Text der PageControl-Seite?
Wenn ja, dann:
Delphi-Quellcode:
Viele Grüße
URL := PageControl1.ActivePage.Caption;
|
Re: Problem mit PageControl
Zitat:
|
Re: Problem mit PageControl
Du könntest einfach jeder TWebBrowser Instanz von Dir das selbe "OnDocumentComplete"-Ereignis zuweisen und dort rein schreibst Du dann:
Delphi-Quellcode:
procedure TForm1.WebBrowserDocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant); begin // Vorrausgesetzt Dein TWebBrowser ist direkt dem TTabSheet untergeordnet. ((ASender as TComponent).Parent as TTabSheet).Caption := URL; end; |
Re: Problem mit PageControl
Zitat:
ich habe den twebbroser ja in einem tab also auf einer seite ich will, wenn der tab gewechselt wird, dass dann die url aus dem erzeugten webbrowser in das adress edit eingetragen wird |
Re: Problem mit PageControl
Sozusagen in dem Edit die Adresse des aktuell ausgewählten TPageControl -> TWebBrowser
|
Re: Problem mit PageControl
Ah, jetzt habe ich es verstanden.
Du könntest beim Erzeugen den TWebBrowser dem TTabSheet zuordnen:
Delphi-Quellcode:
Und dann im OnChange des PageControls schreibst Du einfach:
TabSheet.Tag := Integer(WebBrowser);
Delphi-Quellcode:
Viele Grüße
Edit1.Text := TWebBrowser(PageControl1.ActivePage.Tag).LocationURL;
Edit: Rechtschreibfehler |
Re: Problem mit PageControl
Zitat:
|
Re: Problem mit PageControl
Sorry, das sollte natürlich ebenfalls "Tag" heißen. Da hättest Du aber auch ruhig drauf kommen können...
|
Re: Problem mit PageControl
Zitat:
|
Re: Problem mit PageControl
ignorieren ;)
|
Re: Problem mit PageControl
Zitat:
Ansonsten baue noch eine Überprüfung ins OnChange des PageControl ein:
Delphi-Quellcode:
if (PageControl1.ActivePage <> nil) and (PageControl1.ActivePage.Tag <> 0) then
Edit1.Text := TWebBrowser(PageControl1.ActivePage.Tag).LocationURL else Edit1.Text := 'Ungültig oder was auch immer'; |
Re: Problem mit PageControl
Zitat:
|
Re: Problem mit PageControl
Um mich mal selbst zu zitieren:
Zitat:
|
Re: Problem mit PageControl
Zitat:
Also: pageControl.Tag := Integer(TWebBrowser); |
Re: Problem mit PageControl
Weißt du überhaupt was du da ansatzweise machst? Das scheint mir ganz und gar nicht so.
|
Re: Problem mit PageControl
Zitat:
Ich weiss leider nicht, wie es geht, sry |
Re: Problem mit PageControl
Zitat:
Aber da ja gilt: :dp: - will ich mal nicht so sein. Ein PageControl hat einzelne Seiten ("Tabs"), die heißen TabSheets (Klasse TTabSheet). Wenn Du nun also einen ein neuen Tab in das PageControl erzeugst und dabei auch den dazugehörigen TWebBrowser erzeugst, stellst Du sicher, dass Du diese Zuordnung von Tab und WebBrowser später wieder abgreifen kannst (daher die Zuweisung der neuen TWebBrowser-Instanz über das Tag-Feld an das Tabsheet - und nicht ans PageControl). Code möchte ich Dir dazu keinen geben, Du sollst Dir das bitte selbst erarbeiten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 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