![]() |
komponente auf neuem Tab erzeugen
Hi Leute,
ich versuche auf einem TPageControl ein neues Tab und darauf eine Listbox zu erzeugen. Das Tab funktioniert mit TTabSheet.create schon ganz gut. Aber die Listbox macht mir probleme. Der Code:
Delphi-Quellcode:
So gibt er den Laufzeitfehler: Element " hat kein übergeordnetes Fenster.
var
newpage :TTabSheet; newlistcomp:TListBox; begin newpage:=TTabSheet.Create(Form1.PageControl1); newlistcomp:=TListBox.Create(Form1.PageControl1); with newlistcomp do begin left:=10; top:=88; width:=249; height:=273; end; end; Das Problem liegt also darin: Wie spreche ich das neu erstellte Tab an, um es "newlistcomp" also Parent/Owner zu übergeben??? Ich hoffe ihr versteht mein Problem und habt eine Idee.. Danke und Greetz BlackFoxx |
Re: komponente auf neuem Tab erzeugen
Du solltest eventuell angeben auf welchem TabSheet deine Listbox erzeugt werden soll. Und vergess nicht das Parent zu setzen.
|
Re: komponente auf neuem Tab erzeugen
genau das habe ich vor.
und dafür benötige ich ja eine Möglichkeit, um das TabSheet anzusprechen. Ich habe aber nichts. Nur einen Namen, als eine string variable. Ich habe noch versucht, die Variable "newpage", als Owner anzugeben und als Prent zu setzen, aber das hat auch nichts genützt. :( |
Re: komponente auf neuem Tab erzeugen
Zitat:
|
Re: komponente auf neuem Tab erzeugen
ja. Eben, dass das 'Element " kein übergeordnetes Fenster hat'.
Ich verstehe es auch nicht, da ja eben "newpage" den wert des neuen Tabs hat. :?: |
Re: komponente auf neuem Tab erzeugen
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyTabSheet: TTabSheet; MyListBox: TListbox; begin MyTabSheet := TTabSheet.Create(Form1); MyTabSheet.Parent := PageControl1; MytabSheet.PageControl := PageControl1; MytabSheet.Caption := 'Test'; MyListBox := TListBox.Create(Form1); MyListbox.Parent := MyTabSheet; end; |
Re: komponente auf neuem Tab erzeugen
Das Tabsheet ereugt er damit, wie vorher auch schon. Aber das Problem, dass die Listbox keine übergeordnete Komponente hat ist nch wie vor da!!
Danke trotzdem erstmal.. ich suche weiter.. |
Re: komponente auf neuem Tab erzeugen
Ich hätte da auch noch ein Problem :)
Also wenn ich auf ein TabSheet eine Form mit CreateParent(TabSheet.handle) erstelle habe ich meine Buttens und so aber leiter kann ich nun nicht mehr mit den Pfeiltasten im MemoFeld hin und her steuern !! Hat jemand eine Idee ? |
Re: komponente auf neuem Tab erzeugen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
tut das Not, dass du CreateParented() verwendest? Du arbeitest doch ausschließlich mit VCL Komponenten.
Delphi-Quellcode:
Grüße vom marabu
begin
// ... if InputQuery(s, 'Caption', s) then begin ts := TTabSheet.Create(PageControl); ts.Caption := s; ts.PageControl := PageControl; ts.BorderWidth := 6; m := TMemo.Create(ts); m.Align := alClient; m.Parent := ts; m.ScrollBars := ssBoth; PageControl.ActivePage := ts; end; end; |
Re: komponente auf neuem Tab erzeugen
Nicht Schlecht die Demo aber ich LAde das ganze aus einer Dll, also ich Ich gebe die TabSheet.hande anddie DLL und in der DLL mache ich eben Form.CreatParent(Handle) so wird
Das Form auf das TabSheet gezeichnet. Auf einen PAnel geht das nur eben auf dem TabSheet nicht. Also mit anderen Worten ich brauche das Creatparent |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 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