2010-05-28 6 views
6

Ich möchte bestimmen, zu welcher Form eine bestimmte Komponente in meiner Anwendung gehört. Weder die Parent-Eigenschaft noch die Owner-Eigenschaft kann als das Formular selbst angenommen werden, daher kann ich dies nicht einfach verwenden.Wie erhält man das übergeordnete Formular einer Komponente in Borland VCL?

Ich denke, ich könnte einfach durch die Parent-Eigenschaft rekursiv gehen, bis ich etwas von TForm abgeleitet, aber gibt es einen besseren Weg, dies zu tun? Ich habe die Suchfunktion benutzt, konnte aber nichts speziell für mein Problem finden.

Ich benutze Borland C++ Builder, übrigens (markiert Delphi, weil die Mehrheit der VCL-Benutzer in Delphi zu schreiben scheinen, und ich Delphi-Code gerade gut lesen).

Vielen Dank im Voraus!

Antwort

21

Sie könnten GetParentForm in Forms Einheit verwenden - es wird auch von der VCL verwendet. Es tut, was Sie erwähnt haben - rekursiv finden Sie die erste TCustomForm in ihren Eltern. Darüber hinaus verarbeitet es auch Entwurfszeit.