|
Вопрос # 1 753/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Такой вот у меня на первый взгляд простой вопрос, мучал меня конечно долго и я, наконец, решил написать его вам. Вопрос связан с IDE и формами. А суть его в следующем: хочу реализовать приложение с растягивающейся формой и компонентами на ней. Вопрос конечно творческого направления - "как хочешь, так и делай", но мне все же интересно, как это решают эксперты.
Я использую свойство компонентов - Anchors, конечно понятно, свойство тру определенного направления растягивания цепляет край компонента к форме и растягивается вместе с ней. Проблема у меня скорее в свойстве фолс - по идее должно сохранять положение края компонента на форме не зависимо от ее растягивания, НО у меня выходит так, что компонент "ездит" или перемещается по форме при ее растягивании. Что бы лучше понять о чем я, киньте на форму кнопку со всеми значениями Anchors =false. Как видите, при растягивании формы, кнопка смещается. Нужно, чтобы она мертво сидела на своем месте. Конечно пробовал программно задавать условие в процедуре FormCanResize. Никакого дельного эффекта.
Прошу вас выдать мне ваши "секреты" и уловки в данном вопросе =)
 |
Вопрос задал: Phoenix (статус: Посетитель)
Вопрос отправлен: 7 июля 2008, 13:46
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Шичко Игорь
Здравствуйте, Phoenix!
очень неплохие примеры:
http://www.delphiworld.narod.ru/_app_.html
В своей работе некоторые я использовал.
 |
Ответ отправил: Шичко Игорь (статус: 9-ый класс)
Время отправки: 7 июля 2008, 16:43
Оценка за ответ: 4
Комментарий к оценке: знаю, оттуда все разобрал, иначе не пришел бы сюда с конкретикой.
|
Ответ #2. Отвечает эксперт: Мережников Андрей
Здравствуйте, Phoenix!
Чтобы компонент " мертво" сидел на своем месте необходимо его привязать к какому-то месту. Т.е. свойство Anchors должно быть установлено в true, хотя бы по двум параметрам, например к левому и верхнему краю формы (как по умолчанию). Растягивание происходит, если установлены в true два параметра привязки к противоположным краям. Например, если установлена привязка к врехнему и нижнему краю, то будет происходит изменение размеров компонента по вретикали.
 |
Ответ отправил: Мережников Андрей (статус: Абитуриент)
Время отправки: 7 июля 2008, 18:56
Оценка за ответ: 5
Комментарий к оценке: спасибо конечно, но неверно выразился, компонент должен сидеть на своем месте относительно краёв формы. т.е. если мы кнопку разместили в углу, то при растягивании формы на весь экран, кнопка оказалась в том же углу, на том же расстоянии отностилесьно краев угла формы.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 8 июля 2008, 02:25; участников в обсуждении: 3.
|
Мережников Андрей (статус: Абитуриент), 7 июля 2008, 22:30 [#1]:
относительно всех углов? Так не бывает, чтобы и положение неизменно относительно всех четырех углов и размеры. Выбирайте для каждого компонента свой угол привязки, т.е. относительно какого угла формы должно быть неизменным положение. Все это задается различными сочетаниями флагов в Anchors
|
|
Phoenix (статус: Посетитель), 7 июля 2008, 23:47 [#2]:
+) конечно одного, где в своем комментарии я упомянул угол во множ. числе? =)
насчет Anchors уже как писал, все перепробовал, но все же еще раз попробую.
|
|
Вадим К (статус: Академик), 8 июля 2008, 02:15 [#3]:
И для кого я пишу статьи? Например прямо на этом сайте Выравнивание компонентов
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Phoenix (статус: Посетитель), 8 июля 2008, 02:25 [#4]:
спасибо, Вадим, в который раз меня спасаете... сегодня как раз рылся в статьях, но пропустил (искал по словам, форма, растянуть и т.п.). довольно интересная статься, все доступно и понятно.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|