PDA

Просмотр полной версии : Изменение размеров формы в C++ Builder


AleksP
20.04.2008, 15:05
На форме есть два компонента PageControl1 и DBGrid1. DBGrid1->Align = alBottom, PageControl1->Align = alNone.
Высота DBGrid1 фиксирована. При изменении размеров формы выполняется функция FormResize.

void __fastcall TForm1::FormResize(TObject *Sender)
{
PageControl1->Height = ClientHeight - DBGrid1->Height;
}

При перетаскивании курсором мыши границ формы все работает нормально. Проблема возникает, если выполнить на форме сначала Maximize, а потом Restore Down. Значение DBGrid1->Top при этом не меняется и остается таким же, как и до Restore Down, соответственно DBGrid1 съезжает вниз.

Добавление в FormResize строки DBGrid1->Top = ClientHeight - DBGrid1->Height ни к чему не привело.

В чем может быть проблема и как ее устранить?

De-visible
21.04.2008, 01:58
в DBGrid1->Align значение установи alNone,
(должно работать)
===============================
+ сделай привязку к форме

Dencity
22.04.2008, 02:04
Ага.Покопайся в настройках этих виджетов---там вся загвоздка!