| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Delphi] размер окна и размер объектов |
| Автор: devyshko 23.2.2008, 03:01 |
| Подскажите, можно ли сделать, что бы при изменении размера окна, размер и самих объектов на нём, как-то автоматически подгонялся. Или, что в этом случае еще можно сделать, кроме как запретить изменять размер |
| Автор: 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. Вот, например, для кнопки: ![]() Когда изменяются размеры родительского контрола (формы в данном случае), наш контрол (кнопка) удерживает позиции относительно тех сторон родителя к которым он прикреплен. Т.е. по умолчанию это левая и верхняя стороны (akLeft, akTop равны true). Но такое поведение можно легко поменять. P.S. Есть еще свойство Align. Оно позволяет закрепить контрол либо у соотв. стороны родителя (alLeft, alTop), либо полностью заполнить контролом всю клиентскую часть родителя (alClient). |
| Автор: devyshko 23.2.2008, 19:57 |
| Большое спасибо) еще раз с праздником! |