0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
1

Изменение размеров компонентов при ресайзе формы ("резиновый" интерфейс)

20.05.2016, 19:32. Показов 6283. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте программисты, суть вопроса така: На форме есть разные компоненты speed button, label и так далее. Как можно сделать так что при изменении формы эти же компоненты вместе с формой изменяли размер свой ну произвольно форме. До определенного размера... Ну если описать точнее я беру за угол формы и увеличиваю ее, но компоненты стоят на месте... А мне надо что бы они либо растягивались либо просто равнобедренно с формой шли... Ну как то так... Жду ваших предложений!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2016, 19:32
Ответы с готовыми решениями:

Изменение размеров компонентов при ресайзе формы
Добрый день. Использую WinForms в приложении. Возникла проблема: при разворачивании формы...

Автоматическое изменение размеров компонентов при изменении размеров формы
Приветствую. Подскажите. Форма по умолчанию при запуске приложения открывается по центру. Если...

Регулировка размеров контроллов при ресайзе формы
Доброго времени суток! Вопрос: как сделать регулировку размера rtb и webbrowser на форме? Как...

Изменение размера элементов формы при ее ресайзе
Доброй ночи. Возник вопрос, как при увеличении/уменьшении размеров окна формы изменять размер и...

18
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32628 / 21095 / 8139
Регистрация: 22.10.2011
Сообщений: 36,358
Записей в блоге: 8
20.05.2016, 19:36 2
Свойство Anchors у компонентов видел? Вот попробуй там все галочки выставить, и поизменять размеры формы.

Также обрати внимание на свойство Constraints, там можно задать минимальный/максимальный пределы изменения размеров компонента.
0
589 / 456 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
20.05.2016, 19:56 3
ага. Или убрать все галочки. Тоже интересный эффект даёт.

Добавлено через 54 секунды
А полностью "резиновое" масштабирование вроде только руками делать.
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.05.2016, 20:56  [ТС] 4
Ого оперативно ответили, сейчас попробую. Всем спасибо сейчас отпишусь...

Добавлено через 15 минут
volvo, BOGG ART, Короче говоря, эти способы работают но есть но.... когда я форму увеличиваю все компоненты становятся больше как надо но они цепляют друг друга верх по верх другого становятся( Объясните как правильно его использовать?
0
Джоуи
1073 / 635 / 240
Регистрация: 05.05.2015
Сообщений: 3,546
Записей в блоге: 2
20.05.2016, 21:14 5

Не по теме:

facepalm



Добавлено через 4 минуты
Если в anchors выберешь только akRight и akBottom, то этот компонент будет "прилеплен" к нижнему правому углу формы, если только akRight, то к правой границе формы, и т.д. Короче:
akLeft - к левой границе,
akRight - к правой границе,
akTop - к верхней границе,
akBottom - к нижней границе,

Не по теме:

если вдруг с инглишем незнаком

.

Если выберешь противоположные anchors (якорь(я) с англ.), то компонент будет раздуваться/сжиматься. Исходи из этой информации
0
пофигист широкого профиля
4682 / 3118 / 857
Регистрация: 15.07.2013
Сообщений: 17,970
20.05.2016, 21:38 6
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Объясните как правильно его использовать?
Уже объяснили
Цитата Сообщение от BOGG ART Посмотреть сообщение
полностью "резиновое" масштабирование вроде только руками делать.
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.05.2016, 22:48  [ТС] 7
А если у меня на весь экран форма и я хочу что бы все компоненты при уменьшении формы просто передвигались с формой ну или сужались, паралельно форме. Как это сделать?

Добавлено через 5 минут
Ну да как руками))) можно сделать резиновое)) примерчик)) пожалуйста)) если можно)))

Добавлено через 54 минуты
Joey, а можно по подробней? Пожалуйста)
0
Джоуи
1073 / 635 / 240
Регистрация: 05.05.2015
Сообщений: 3,546
Записей в блоге: 2
20.05.2016, 22:54 8
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
просто передвигались с формой
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
ну или сужались, паралельно форме
Ломал голову, так и не понял, о чем речь

Добавлено через 38 секунд
Что значит "сужаться параллельно форме"? А разве подсказанное volvo не помогло?
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.05.2016, 22:57  [ТС] 9
Joey, блин тот пример подошел но есть но.... Компоненты друг на друга становятся, как ограничить что бы они не лезли?
0
Джоуи
1073 / 635 / 240
Регистрация: 05.05.2015
Сообщений: 3,546
Записей в блоге: 2
20.05.2016, 23:04 10
_NE_KAKIX_IMEN_, Опять volvo все объяснил, и Боггарт, и northener: у почти каждого компонента есть свойство constraints, чтобы ограничить максимальный и минимальный размеры. Нет такого магического свойства, которое запрещает компонентам налезать друг на друга, их природа не наделила этим )
0
589 / 456 / 147
Регистрация: 09.12.2013
Сообщений: 2,385
Записей в блоге: 2
20.05.2016, 23:16 11
_NE_KAKIX_IMEN_, да вы странно описываете. "равнобедренно с формой", "сужались, паралельно форме"...
Простейшее достигается Якорями (Anchors) и Выравниванием (Align). Сложнее - уже руками (в OnResize считать и задавать самому SetBounds).
Создайте новый проект, расположите все нужные контролы по местам, прикрепите в тему.
1
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.05.2016, 23:40  [ТС] 12
BOGG ART, ой спасибо, завтра отпишусь, уже не когда)) Мне бежать надо))
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
21.05.2016, 13:02  [ТС] 13
BOGG ART, Joey, northener, volvo, Ну вот пример формы при увеличении формы что бы эти компоненты вели себя аналогично, ну короче что бы пользователю было удобно при изменении формы. Использовать программу. Либо просто смещались либо просто увеличивали + смещались.
Миниатюры
Изменение размеров компонентов при ресайзе формы ("резиновый" интерфейс)  
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
21.05.2016, 16:46  [ТС] 14
BOGG ART, Так вы поможете?
0
593 / 544 / 207
Регистрация: 24.01.2012
Сообщений: 1,342
21.05.2016, 23:51 15
А такой вариант устроит?
Вложения
Тип файла: 7z testflex.7z (59.2 Кб, 32 просмотров)
1
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
22.05.2016, 00:14  [ТС] 16
edukra, Сейчас посмотрю) Спасибо за отклик!

Добавлено через 6 минут
edukra, Пример отличный) Только у меня не Radiobutton стоят, а radiogroup) и еще одно, а можно как то сделать до определенного момента растягивать форму ну когда, достигает max limit который указан в свойствах каких не будь, то он не может двигать форму, ну и так для компонентов что на форме стоят?

Добавлено через 4 минуты
edukra, И еще задам вопрос, Вы мне можете описать код что за что отвечает буду в нем разбираться ))) Спасибо!
0
593 / 544 / 207
Регистрация: 24.01.2012
Сообщений: 1,342
22.05.2016, 02:01 17
Немного дополнил код. Теперь изменение размера формы ограничивается и в большую и в меньшую сторону. Правда без проблем это работает в Windows XP. В других версиях винды не проверял, а под линуксом ограничение размера формы работает ненадежно. В код добавил немного комментариев.
Вложения
Тип файла: 7z testflex.7z (61.7 Кб, 42 просмотров)
0
602 / 922 / 149
Регистрация: 10.08.2015
Сообщений: 4,851
22.05.2016, 11:33 18
Меню Вид->Редактор привязок Позволяет без всякого программирования настроить расположение компонентов на форме
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
22.05.2016, 17:38  [ТС] 19
edukra, Сейчас гляну, да и за код спасибо буду разбирать что к чему) Плюс тебе)))

Добавлено через 57 секунд
vlisp, я это знаю но просто использовать его не могу...
что к чему клацать не пойму)

Добавлено через 9 минут
edukra, Огромное спасибо! Буду разбирать этот пример) Тему можно закрывать.... Еще раз всем спасибо особенная благодарность Edukra)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2016, 17:38
Помогаю со студенческими работами здесь

Обрезать "Ушки" блока при ресайзе
Добрый день ! Имеется вот такой макет del при ресайзе окна нужно что бы блок со слайдером уходил...

Изменение размеров элементов, при изменение размеров формы
Доброго времени суток, подскажите, как в VS2016 реализовать подобное, а именно: Имеются следующая...

Изменение размеров элементов, сохраняя пропорции, при изменении размеров самой формы
Как изменять размеры элементов, сохраняя пропорции, при изменении размеров самой формы?

Интерфейс и "прикручивание" компонентов
всем привет, пока-что изучаю pascal, но что бы за 11 класс иметь максимальный балл по информатике,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru