![]() |
Vererbte Frames finden...
Hallo!
Habe folgendes Problem: zur Laufzeit erstelle ich Frames auf 'nem PageControl die bestimmte Namen erhalten. Wie kann ich auf die Frames zugreifen ohne den Namen anzugeben?? Mit FindComponent kann ich das net weil ich nen Namen angeben muss...Kann mir da jemand helfen?! Danke! |
Re: Vererbte Frames finden...
Wenn du die Frames zur Laufzeit erstellst, dann musst du ja auch einen Variablen-Namen angeben, also wo ist das Problem?
|
Re: Vererbte Frames finden...
ne er kann auch einfach nur
Delphi-Quellcode:
machen, also ohne Variable.
with TMyFrame.Create(Pcontrol)do
begin Parent:=pcontrol; . . end; Ich würde sagen das eine Variable geeigneter wäre:
Delphi-Quellcode:
myframe:=TMyFrame.Create(Pcontrol);
with myframe do begin Parent:=pcontrol; . . end; |
Re: Vererbte Frames finden...
Die Namen sind nicht immer die gleichen und die Anzahl der Frames die jedes mal erstellt werden variiert.
Ich möchte eine Prozedur aufrufen können die alle erstellten Frames durchläuft:
Delphi-Quellcode:
for i := 0 to MAin.PageControl1.PageCount - 1 do begin // hier soll eine procedure des Frames stehen end; Also frage ich mich wie ich auf alle ChildComponenten (als TmyFrame) des PageControl1 zugreifen kann ohne die Namen angeben zu müssen! Vorläufig habe ich es so gelöst, dass tabs und frames gleiche Namen bekommen mit nem 'tab' bzw. 'frame' davor::
Delphi-Quellcode:
Trotzdem wenn jemand weiss wie das einfacher geht dann bitte!for i := 0 to MAin.PageControl1.PageCount - 1 do begin FrameName := copy(Main.PageControl1.Pages[i].Name, 4, length(Main.PageControl1.Pages[i].Name) - 3); //entfernt das wort 'tab' (Main.PageControl1.Pages[i].FindComponent('frame' + frameName) as TmyFrame).Getsize(byt_); end; |
Re: Vererbte Frames finden...
..die Frames erstelle ich so:
Delphi-Quellcode:
procedure TStatusFr.NewFrame(n_: string);
var quTab: TTabSheet; quFrame: TFrame; begin quTab := TTabSheet.Create(Main.PageControl1); quTab.PageControl := Main.PageControl1; quTab.Name := 'tab' + n_; quTab.Caption := n_; quTab.Show; with TmyFrame.Create(self) do begin Name := 'frame' + n_; Caption := n_; Parent := quTab; Show; align := alClient; end; end; |
Re: Vererbte Frames finden...
Mach aus dem ganzen eine Funktion bei der du das Frame als Result zurückgibst.
dann weise das Frame einem Array zu:
Delphi-Quellcode:
var
framefeld : array of TFrame; . . procedure NeuesFrames(AName : string); begin SetLength(framefeld,Length(framefeld)+1); framefeld[Length(framefeld)-1]:=DoNeuesFrame(AName); end; Nur so als Ansatz ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 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 by Thomas Breitkreuz