|
Новичок
Регистрация: 14.08.2007
Сообщений: 4
Провел на форуме: 5562
Репутация:
3
|
|
А как ты хочешь сделаешь меньше форму если не хочешь уменьшать картинки???
вот тут небольшая статейка с delphiworld помойму,(не дал ссылку так как статья давно лежит у меня на компе и адреса я не знаю) о том как нужно делать программы под разные разрешения:
Статья:
На ранней стадии создания приложения решите для себя хотите ли вы позволить форме масштабироваться. Преимущество немасштабируемой формы в том, что ничего не меняется во время выполнения. В этом же заключается и недостаток (ваша форма может быть слишком маленькой или слишком большой в некоторых случаях).
Если вы Е собираетесь делать форму масштабируемой, установите св-во Scaled=False и дальше не читайте.
В противном случае Scaled=True.
Установите AutoScroll=False. AutoScroll = True означает не менять размер окна формы при выполнении что не очень хорошо выглядит, когда содержимое формы размер меняет.
Установите фонты в форме на TrueType фонты, например Arial. !!!!: Если такого фонта не окажется на пользовательском компьютере, то Windows выберет альтернативный фонт из того же семейства. Этот фонт может не совпадать по размеру, что вызовет проблемы.
Установите св-во Position в любое значение, отличное от poDesigned. poDesigned оставляет форму там, где она была во время дизайна, и, например, при разрешении 1280x1024 форма окажется в левом верхнем углу и совершенно за экраном при 640x480.
Оставляйте по-крайней мере 4 точки между компонентами, чтобы при смене положения границы на одну позицию компоненты не " наезжали" друг на друга.
Для однострочных меток (TLabel) с выравниванием alLeft или alRight установите AutoSize=True. Иначе AutoSize=False.
Убедитесь, что достаточно пустого места у TLabel для изменения ширины фонта - 25% пустого места многовато, зато безопасно. При AutoSize=False Убедитесь, что ширина метки правильная, при AutoSize=True убедитесь, что есть ссвободное место для роста метки.
Для многострочных меток (word-wrapped labels), оставьте хотя бы одну пустую строку снизу.
Будьте осторожны при открытии проекта в среде Delphi при разных разрешениях. Свойство PixelsPerInch меняется при открытии формы. Лучше тестировать приложения при разных разрешениях, запуская готовый скомпилированный проект, а редактировать его при одном разрешении. Иначе это вызовет проблемы с размерами.
Не изменяйте свойство PixelsPerInch !
В общем, нет необходимости тестировать приложение для каждого разрешения в отдельности, но стоит проверить его на 640x480 с маленькими и большими фонтами и на более высоком разрешении
Уделите пристальное внимание принципиально однострочным компонентам типа TDBLookupCombo. Многострочные компоненты всегда показывают только целые строки, а TEdit покажет урезанную снизу строку. Каждый компонент лучше сделать на несколько точек больше.
как узнать разрешение
Разместите в обработчике события формы (которую вы хотите автомасштабировать) OnCreate следующую строку:
Если форма масштабируемая:
В событии формы OnCreate()
Код:
AdjustResolution(Self);
Код:
{ AdjustResolution ************************************************** ***** }
{ Данная процедура масштабирует все дочерние формы данной формы для }
{ соответствия текущему разрешению }
{ ************************************************** ********************** }
procedure AdjustResolution(oForm:TForm);
var
iPercentage:integer;
begin
if Screen.Width > 640 then
begin
iPercentage:=Round(((Screen.Width-640)/640)*100)+100;
oForm.ScaleBy(iPercentage,100);
end;
end;
Как получить разрешение монитора и т.д. на любом сайте по Дельфи...
|