Автор: Richard Cox
Проблема, с котороя я столкнулся, заключается в том, что нижняя часть дочерней формы загораживает панель состояния родительской формы...
У меня была аналогичная проблема -- она проявлялась при условии, когда свойство главной формы WindowState устанавливалось на wsMinimized.
Вот мое решение: добавьте этот небольшой метод к вашей главной форме:
| Code: | 
| interface 
 procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED; 
 implementation 
 procedure TMainForm.CMShowingChanged(var Message: TMessage); var theRect: TRect; begin inherited; theRect := GetClientRect; AlignControls(nil, theRect); end; | 
Это работает, поскольку вызов AlignControls (в TForm) делает две вещи:
выравнивает элементы управления (включая ваш проблемный StatusBar) и
вновь позиционирует окно клиента относительно главной формы (оно ссылается на ClientHandle) после того, как элементы управления будут выравнены... что, впрочем, мы и хотели.
 
			
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!