Как решить проблему несогласованности дочерней формы Delphi внутри родительской формы в XP - PullRequest
2 голосов
/ 15 января 2011

У меня есть несколько форм, которые «размещают» другие формы, используя ChildForm.Parent: = HostForm и ChildForm.Align = alClient и т. Д. Некоторые дочерние формы сами размещают другую дочернюю форму. Под Windows 7 выравнивание в порядке, но Windows XP иногда оставляет дочернюю форму видимой, но не выровненной по клиенту. Коснитесь внешней рамки окна, чтобы изменить ее размер на один пиксель, и все пружины будут выровнены правильно. Есть ли команда, которую я могу отправить в форму хоста, чтобы убедиться в правильности выравнивания?

Ответы [ 2 ]

1 голос
/ 15 января 2011

Возможно, вы захотите взглянуть на Realign метод.Посмотрите также AlignControls и ArrangeControl , чтобы вручную выровнять дочерний элемент управления.Если возможно, рассмотрите возможность использования фреймов вместо форм - они предназначены для описанной вами работы (но, с другой стороны, имеют ряд неудобств - например, отсутствие события OnCreate).

С уважением -Spook.

0 голосов
/ 15 января 2011

У меня тоже была эта проблема несколько раз, и, кажется, она часто вызвана неправильными элементами управления дочерней формы.

Как избежать проблем при встраивании TForm в другую TForm?

...