Как получить родительскую форму компонента в Borland VCL? - PullRequest
6 голосов
/ 28 мая 2010

Я бы хотел определить, к какой форме принадлежит данный компонент в моем приложении. Ни свойство Parent, ни свойство Owner нельзя считать самой формой, поэтому я не могу просто использовать это.

Полагаю, я мог бы просто рекурсивно проходить через свойство Parent, пока не получу что-то, полученное из TForm, но есть ли лучший способ сделать это? Я использовал функцию поиска, но не смог найти ничего конкретного для моей проблемы.

Кстати, я использую Borland C ++ Builder (помеченный Delphi, потому что большинство пользователей VCL, кажется, пишут на Delphi, и я прекрасно читаю код Delphi).

Заранее спасибо!

1 Ответ

21 голосов
/ 28 мая 2010

Вы можете использовать GetParentForm в Forms единице - он также часто используется VCL. Он делает то, что вы упомянули - рекурсивно найти первый TCustomForm у его родителей. Кроме того, он также обрабатывает время проектирования.

...