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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2009, 14:35   #1
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию Формат программы

Возник такой вопрос: вот создаю я программу окно которой допустим 800х600 и все компоненты(image, bitbnt, label, и т.д.) у меня размещенные к размерам программы 800х600 если же я разверну окно программы на весь екран 1280х1024 то у меня теряются все пропорции размещения. Как можно сделать так чтобы при изменении размера программы все компоненты тоже меняли свои размеры, то есть были пропорциональными размеру главного окна?
Есть у меня идея допустим в постоянно проверяющюйся процедуру (например таймер с 10-50 мс) впихнуть
if Form1.width<>600 or form1.height<>800
then
begin
//а здесь меняем размеры и положения каждого компонента пропорционално к сменам размеров окна
end;

Но все это както долго будет, есть ли способ полегче?
Deamonig вне форума Ответить с цитированием
Старый 15.10.2009, 14:40   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

изучите св-во Anchors (Якоря)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.10.2009, 14:48   #3
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Лучше не таймер, а событие FormCanResize (закладка events)
Noor вне форума Ответить с цитированием
Старый 15.10.2009, 16:13   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Можно поробовать этот юнит (подключите к проекту в раздел uses или просто выдерите от туда эту ф-ию)
а применить можно так
Код:
ScaleForm(Form1)
Вложения
Тип файла: zip scale.zip (729 байт, 13 просмотров)
SERG1980 вне форума Ответить с цитированием
Старый 15.10.2009, 20:38   #5
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

При использовании Archons у меня допустим размер шрифта в bitbnt1 не меняется, поэтому что то другое надо. SERG1980 с юнитом что то не получается. Он меняет размеры самого окна, и того что внутри, а мне нужно чтобы при изменения пользователем размеров окна менялось все внутри. Может я не понял как с ним правильно работать? Можешь обьяснить когда нужно применять ScaleForm(Form1) ?
Deamonig вне форума Ответить с цитированием
Старый 15.10.2009, 20:42   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

почитайте третия пост
+есть событие ONResize
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.10.2009, 16:16   #7
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Спасибо, со всем разобрался
Deamonig вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК ПЕРЕДЕЛАТЬ ФОРМАТ mp4 В ФОРМАТ 3gp,MPEG4 kamalruslan Софт 4 20.08.2015 16:16
Формат времени artemavd Общие вопросы Delphi 6 22.09.2009 15:23
Формат команд Drunk_Dogg Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 22.12.2008 15:39
Формат .csv. Rashanea Microsoft Office Excel 8 27.11.2008 15:57