Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 753

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Такой вот у меня на первый взгляд простой вопрос, мучал меня конечно долго и я, наконец, решил написать его вам. Вопрос связан с IDE и формами. А суть его в следующем: хочу реализовать приложение с растягивающейся формой и компонентами на ней. Вопрос конечно творческого направления - "как хочешь, так и делай", но мне все же интересно, как это решают эксперты.
Я использую свойство компонентов - Anchors, конечно понятно, свойство тру определенного направления растягивания цепляет край компонента к форме и растягивается вместе с ней. Проблема у меня скорее в свойстве фолс - по идее должно сохранять положение края компонента на форме не зависимо от ее растягивания, НО у меня выходит так, что компонент "ездит" или перемещается по форме при ее растягивании. Что бы лучше понять о чем я, киньте на форму кнопку со всеми значениями Anchors =false. Как видите, при растягивании формы, кнопка смещается. Нужно, чтобы она мертво сидела на своем месте. Конечно пробовал программно задавать условие в процедуре FormCanResize. Никакого дельного эффекта.
Прошу вас выдать мне ваши "секреты" и уловки в данном вопросе =)

Phoenix Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: 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

Phoenix (статус: Посетитель), 7 июля 2008, 23:47 [#2]:

+) конечно одного, где в своем комментарии я упомянул угол во множ. числе? =)
насчет Anchors уже как писал, все перепробовал, но все же еще раз попробую.
Вадим К

Вадим К (статус: Академик), 8 июля 2008, 02:15 [#3]:

И для кого я пишу статьи? Например прямо на этом сайте Выравнивание компонентов
Галочка "подтверждения прочтения" - вселенское зло.
Phoenix

Phoenix (статус: Посетитель), 8 июля 2008, 02:25 [#4]:

спасибо, Вадим, в который раз меня спасаете... сегодня как раз рылся в статьях, но пропустил (искал по словам, форма, растянуть и т.п.). довольно интересная статься, все доступно и понятно.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:39
Выполнено за 0.03 сек.