Родительское свойство TForm - PullRequest
0 голосов
/ 25 января 2012

Я в настоящее время (в некоторых случаях зависит от файла конфигурации) родительские функции для нескольких форм.

То есть одна родительская форма может иметь несколько дочерних форм.

Проблема, с которой я столкнулся, заключается в том, что, когда я минимизирую дочернюю форму, а родительское окно в настоящий момент не развернуто (я устанавливаю размер родительской формы на основе файла конфигурации), я теряю значок дочерних форм, поэтому могу не могу восстановить это.

Если родительская форма была развернута до этого, у меня все еще есть значок, и я МОГУ восстановить ее ..

В моем случае я хочу, чтобы родительская форма была ограничивающей рамкой (хотя она все еще должна быть формой), поэтому у нее нет панели плитки, поэтому максимизация не может быть достигнута.

Мне нужно иметь возможность настроить это родительское дело на лету.

Посмотрел формы MDI (не могу использовать целое приложение MDI), но слышал, что они не работают хорошо, будучи настроенными на лету.

Есть ли у кого-нибудь советы о лучшем подходе к этому. Я не ожидаю бесплатного кода, но некоторые рекомендации будут высоко оценены.

Большое спасибо, Джо

1 Ответ

2 голосов
/ 26 января 2012

Обычно НЕ рекомендуется устанавливать Parent для TForm, не говоря уже о другом TForm.Лучшее решение - вместо этого поместить ваш дочерний контент на TFrame, а затем установить Parent для этого по мере необходимости.Это дает вам больше контроля над тем, как и где отображается TFrame.Затем вы можете предоставить свой собственный пользовательский интерфейс для сокрытия и отображения ваших TFrame экземпляров по мере необходимости.Если вам нужно, чтобы данный TFrame находился в свободном обращении, просто создайте экземпляр пустого TForm и установите его как Parent для этого TFrame.

...