![]() |
Formular eines TWinControls ermitteln
Irgendwie stehe ich auf dem Schlauch ...
Ich habe (als Beispiel) eine TForm, auf ihr eine Panel, darauf eine Groupbox, dann wieder eine Panel und so weiter uns so weiter. Ganz oben liegt ein Button. Nun möchte ich beim Klick auf den Button den Namen des Formular, oder besser das Formular als Objekt direkt, ermitteln. Die DP-Suche hat mir bisher nicht weiter helfen können ... |
Re: Formular eines TWinControls ermitteln
Hi.
In bestimmten Fällen wirst du weitere Bedingungen einbauen müssen, aber so etwa geht es:
Delphi-Quellcode:
Grüße vom marabu
function GetForm(c: TComponent): TForm;
begin if c.Owner is TForm then Result := c.Owner as TForm else Result := GetForm(c.Owner); end; |
Re: Formular eines TWinControls ermitteln
Hallo,
wäre nicht die Suche über Parent angebracht statt über Owner? Ein Owner kann ja irgendeine Komponente sein.
Delphi-Quellcode:
Gruß
function GetForm(c: TControl): TForm;
begin if c.Parent is TForm then Result := c.Parent as TForm else Result := GetForm(c.Parent); end; xaromz |
Re: Formular eines TWinControls ermitteln
Recht hast du.
Freundliche Grüße vom marabu |
Re: Formular eines TWinControls ermitteln
Danke euch Beiden! Beide Funktion funzen Super ...
das Schlüsselwörtchen is war mir entfallen ... :wall: Wieso lieber parent als owner? Wo ist der Unterschied?? Gruß gmc |
Re: Formular eines TWinControls ermitteln
xaromz hat Recht - ich stehe manchmal etwas neben mir.
Der Owner ist für das life cycle management zuständig, der Parent für die Visualisierung. marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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