2010-05-28 9 views
6

Je voudrais déterminer à quelle forme appartient un composant donné dans mon application. Ni la propriété Parent ni la propriété Owner ne peuvent être supposées être le formulaire lui-même, donc je ne peux pas simplement l'utiliser.Comment obtenir le formulaire parent d'un composant dans Borland VCL?

Je suppose que je pourrais simplement passer par la propriété Parent récursivement jusqu'à ce que j'arrive à quelque chose dérivé de TForm, mais y a-t-il une meilleure manière de faire ceci? J'ai utilisé la fonction de recherche, mais je n'ai rien trouvé de spécifique à mon problème. D'ailleurs, j'utilise Borland C++ Builder (étiqueté Delphi car une majorité d'utilisateurs VCL semblent écrire en Delphi, et je lis bien le code Delphi).

Merci d'avance!

Répondre

21

Vous pouvez utiliser GetParentForm dans l'unité Forms - il est également très utilisé par la VCL. Il fait ce que vous avez mentionné - trouver récursivement le premier TCustomForm chez ses parents. En outre, il gère également le temps de conception.