Позиционирование элементов управления в Delphi 5, чтобы они заполняли клиентскую область формы, когда размер формы изменяется в тех же пропорциях, что и изначально - PullRequest
0 голосов
/ 24 марта 2010

У меня есть DBGrid над групповым полем с некоторыми кнопками и полями редактирования и еще один групповой блок под этим снова с некоторыми кнопками. Я не могу найти параметр выравнивания и / или привязок для DBGrid и групповых блоков, чтобы они заполняли форму, не перекрывая и не оставляя пустых битов формы.

Я использую Delphi 5 на XP Pro со всеми установленными обновлениями.

Ответы [ 2 ]

1 голос
/ 24 марта 2010

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

Вы можете также найти сторонний контейнерный элемент управления, который облегчает это. Я бы искал комбинации «поток», «макет», «таблица», «контейнер».

0 голосов
/ 24 марта 2010

Мы тоже с этим боролись, и я согласен с Чарльзом М., что нет встроенного способа сделать это.

Если вы ищете внешнее решение, элемент управления ExpressLayout от Developer Express позволяет вам точно настроить расположение элементов управления в формах Delphi. Они рекламируют «Независимость разрешения экрана - Автоматически изменяемые размеры интерфейсов - стандартизация внешнего вида ...», так что, возможно, стоит посмотреть.

Я никогда не использовал этот конкретный элемент управления, но мы используем множество других элементов управления Developer Express в наших коммерческих проектах. Управление и поддержка отличные.

См .: http://www.devexpress.com/Products/VCL/ExLayoutControl/

У них нет пробной версии, но есть 60-дневная гарантия возврата денег без вопросов.

...