![]() |
TWebbrowser dynamisch generieren und "benamsen"...
Hallo Wissende,
ich schreibe gerade an einem kleinen Generator. In diesem kann der user die Anzahl der zu generierenden Seiten angeben. Ich erzeuge dann dynamisch in einem PageControl die Tabs und auf den Tabs dann jeweils eine Webbrowser-Komponente. Nun habe ich aber feststellen müssen, dass man der erzeugten Komponente keinen eigenen Namen geben kann. Wie kann ich dann diese Komponente ansprechen, wenn ich nicht weiss wie sie heisst? Den Parent kann man auch nicht so recht zuweisen. Da scheint alles irgendwie anders zu funktionieren, als bei Standardkomponenten. Desweiteren ist es so, dass ich zwar im Code sagen kann, dass der Webbrowser alClient sein soll, aber er ignoriert dies leider, so dass ich die Grösse manuell setzen muss. Hat das alles einen Grund? Hier mal mein Code, mit dem ich den Spass derzeit erzeuge:
Delphi-Quellcode:
with pg_preview do
Begin for i := 1 to int_page_count do begin new_page := TAdvOfficePage.Create(pg_preview); new_page.Parent := pg_preview; new_page.Caption := siLang1.GetText('str_preview_page') + ' ' + inttostr(i); AddAdvPage(new_page); myBrowser := TWebBrowser.Create(new_page); //myBrowser.Name := nicht zulässig myBrowser.Align := alClient; //funzt leider auch nicht myBrowser.ParentWindow := new_page.Handle; myBrowser.Width := new_page.Width; myBrowser.Height:= new_page.Height; myBrowser.Navigate('about:blank'); end; end; |
Re: TWebbrowser dynamisch generieren und "benamsen"
Also an alle, die auch mal dieses Problem haben sollten. Ich habe nach einer weiteren Suche hier im Forum die Lösung finden können. Damit ist auch das Alignment und Parent-Problem gelöst!
Delphi-Quellcode:
for i := 1 to int_page_count do
begin new_page := TAdvOfficePage.Create(pg_preview); new_page.Parent := pg_preview; new_page.Caption := siLang1.GetText('str_preview_page') + ' ' + inttostr(i); AddAdvPage(new_page); myBrowser := TWebBrowser.Create(new_page); TWinControl(myBrowser).Name := 'web' + inttostr(i); TWinControl(myBrowser).Parent := new_page; TWinControl(myBrowser).Align := alClient; myBrowser.Navigate('about:blank'); end; |
Re: TWebbrowser dynamisch generieren und "benamsen"
Zitat:
Zitat:
|
Re: TWebbrowser dynamisch generieren und "benamsen"
Jo danke, ich habe schon gemerkt, dass das noch nicht der Weisheit letzter Schluss ist, denn ich konnte dann später in einer Schleife den Browser NICHT ansprechen, da er über FindComponent nicht gefunden wurde...Warum auch immer...!?
Delphi-Quellcode:
Geht so leider nicht, da der linken Seite nicht zugewiesen werden kann...Und nun?
(myBrowser as TControl).Name := 'web_' + inttostr(i);
(myBrowser as TControl).Parent := new_page; |
Re: TWebbrowser dynamisch generieren und "benamsen"
Hast du FindComponent auch an der Page (dem Owner) aufgerufen?
|
Re: TWebbrowser dynamisch generieren und "benamsen"
Zitat:
|
Re: TWebbrowser dynamisch generieren und "benamsen"
Nicht unbedingt Anfängerfehler, nur nicht gewusst, dafür gibt es ja das Forum hier ;)
Schöner wäre es aber die in einem Array oder eine Liste zu verwalten. |
Re: TWebbrowser dynamisch generieren und "benamsen"
Dann gib mir doch bitte mal einen Tipp, wie ich das machen könnte. Ich seh nur Bahnhof, da ich Controls noch nie auf eine solche Art verwaltet habe.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 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