Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Delphi] размер окна и размер объектов


Автор: devyshko 23.2.2008, 03:01
Подскажите, можно ли сделать, что бы при изменении размера окна, размер и самих объектов на нём, как-то автоматически подгонялся. Или, что в этом случае еще можно сделать, кроме как запретить изменять размер smile Парни, с 23 февраля вас!

Автор: chnry 23.2.2008, 08:34
Советую завести две переменные dX и dY.
dX - ширина формы, разделенная на любую константу (допустим сX = 20)
dY - высота формы, разделенная на любую константу (допустим сY = 10)
И координаты всех элементов управления на форме задавать с помощью этих переменных. В обработчике события "Изменение размера" вычислять заново dX и dY. При этом константы cX и cY остаются теми же. После вычисления поменять координаты в зависимости от dX и dY.
Если будут вопросы стучись 393877884.

Автор: kemiisto 23.2.2008, 11:30
Есть еще вариант: использовать свойство Anchors. Оно есть у каждого объекта класса-наследника TControl. 
Вот, например, для кнопки:
user posted image

Когда изменяются размеры родительского контрола (формы в данном случае), наш контрол (кнопка) удерживает позиции относительно тех сторон родителя к которым он прикреплен. Т.е. по умолчанию это левая и верхняя стороны (akLeft, akTop равны true). Но такое поведение можно легко поменять.

P.S. Есть еще свойство Align. Оно позволяет закрепить контрол либо у соотв. стороны родителя (alLeft, alTop), либо полностью заполнить контролом всю клиентскую часть родителя (alClient). 

Автор: devyshko 23.2.2008, 19:57
Большое спасибо) еще раз с праздником!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)