Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2010, 11:05   #1
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
Восклицание Форма с єлементами на ней под любой монитор!!!

Подскажите что делать пожалуйста!!! У меня есть окно в котором естественно много єлементов у меня то на мониторе всё норм а вот если на другие то єлементы вылазят за пределы!!! Можно было бы решить проблему уменьшив размер обектов на форме!!! Но я не могу этого сделать!!! Просто уже некуда уменшать причом вручную!!! Может можно как организовать изменение размер обьектов на форме в соотвествии с размерами самой формы которая подстраиваеться под размер экрана?! Заранее очень благодарен!!!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.04.2010, 12:02   #2
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

В Delphi 2010 есть компонент TGridPanel, с помощью него можно настроить чтобы все элементы формы изменяли размер автоматом в зависимости от размера формы. Компонент сделан в виде панели с виртуальными строками и столбцами, которые изменяют свой размер в зависимости от размеров формы. Если задать через Anchors привязку по левому и правому краю компонента, он будет изменять свой размер вместе с изменением ширины столбцов панели при изменении размеров формы.

Поищите подобный компонент для вашей версии Delphi
Rik вне форума Ответить с цитированием
Старый 29.04.2010, 12:20   #3
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Цитата:
В Delphi 2010 есть компонент TGridPanel
А кто нить знает есть ли аналог для Delphi 7?! В стандартных компонентах его я так понимаю нету! А существует ли такое как дополнительный?!

StringGrid , DrawGrid - это оно?! вроде бы похожое то очём вы писали!!!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""

Последний раз редактировалось Stilet; 29.04.2010 в 12:39.
$T@LKER вне форума Ответить с цитированием
Старый 29.04.2010, 12:34   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

воспользуйтесь те ми же якорями(Anchors) + возможно панелями
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.04.2010, 12:38   #5
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Цитата:
воспользуйтесь те ми же якорями(Anchors)
Оно ж ведь тока прикрепляет элементы но не влияет на их размеры в зависимости от розширения монитора!!!

Я немогу найти TGridPanel !!!
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.04.2010, 12:45   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А кто нить знает есть ли аналог для Delphi 7?
Есть для БД TDBCtrlGrid. Должен быть по крайней мере.
Цитата:
Оно ж ведь тока прикрепляет элементы но не влияет на их размеры в зависимости от розширения монитора!!!
Ессно. Анкоры влияют на размеры при изменении размеров самой формы.
В твоем случае я бы посоветовал размещать используя Align, таким образом чтоб контрол заполнял все предосталенное ему пространство, которое можно ограничивать например панелями. Ну и соответственно можно поизвращаться с подгонкой шрифтов.
I'm learning to live...

Последний раз редактировалось Stilet; 29.04.2010 в 12:47.
Stilet вне форума Ответить с цитированием
Старый 29.04.2010, 14:11   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вообще то можно якорями.
не забываем разницу разного разрешения, это разный максимальный размер формы.
а если надо варьировать начальный то при онкрит просто считываем размер экрана и подгоняем размер формы, при использовании якорей компоненты подгонятся сами.
в таком случае и при ресайзинге все сохранит пропорции(и места)
делал так и не раз, проблем не замечал(только советую ограничить размер формы каким то минимумом(ориентируйтесь на сами компоненты), а то уйдут параметры в минус еще)

посмотрите тут пример реализации(использовал метод, о котором выше написал)
http://programmersforum.ru/showthread.php?t=62832
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 29.04.2010 в 14:13.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.04.2010, 14:50   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в таком случае и при ресайзинге все сохранит пропорции
Не все. Шрифт подстраиваться не будет. Будут подстраиваться только размеры контролов.
Я встречался с ситуацией, когда на 15'' текст кнопок обрезался так что ниче понять нельзя было, да и не только кнопок.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.04.2010, 15:13   #9
$T@LKER
Форумчанин
 
Аватар для $T@LKER
 
Регистрация: 28.03.2009
Сообщений: 393
По умолчанию

Цитата:
а если надо варьировать начальный то при онкрит просто считываем размер экрана и подгоняем размер формы
Типа так:
Код:
Left := 0;
Top := 0 + 20;
Height := Screen.Height;
Width  := Screen.Width;
???
""Сериалы и компьютерные игры это словно вторая жизнь, которою ты проживаешь, во главе главного героя или персонажа, параллельно своей!""
$T@LKER вне форума Ответить с цитированием
Старый 29.04.2010, 15:20   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да, обратите внимание на поправку от Виталия про шрифты.

кстати еще есть прокрутка для формы
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма не закрывается когда из под нее вызывается процедура1 Maddy Общие вопросы Delphi 10 29.01.2010 19:24
форма под значками ERASERROR Общие вопросы Delphi 3 19.01.2008 14:32
Перетаскивание формы за любой объект,находящийся на ней Романнн Общие вопросы Delphi 2 04.11.2007 16:00