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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2014, 15:54   #1
Newit12
Пользователь
 
Регистрация: 20.10.2014
Сообщений: 14
По умолчанию Разрешение экрана для программы

Добрый день. Пишу программу для разрешения 1200х1600, на моем ноуте разрешение 1366х768. Подскажите, как мне делать расположение Label, если на форму нельзя взглянуть в нужном мне разрешении? (пробовал менять ширину и высоту формы, все равно при запуске возвращаются значения моего разрешения
Newit12 вне форума Ответить с цитированием
Старый 27.12.2014, 16:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Пишу программу для разрешения 1200х1600
А ты думал как твоя программа будет работать на 800х600 к примеру?
Знаешь, у меня вот такая программа есть. И даже две. Ты не представляешь как часто незлым тихим словом мы (в количестве чел так 50 примерно) поминаем автора этого нашего быдлоПО.
Хочешь хороший совет?: Не расчитывай программу только на одно расширение.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.12.2014, 17:02   #3
Newit12
Пользователь
 
Регистрация: 20.10.2014
Сообщений: 14
По умолчанию

дело в том, что у меня нарисован фон под это разрешение и программа предназначается только для одного пк с таким разрешением
Newit12 вне форума Ответить с цитированием
Старый 27.12.2014, 17:46   #4
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
как мне делать расположение Label
Anchor, выставьте.
Цитата:
пробовал менять ширину и высоту формы, все равно при запуске возвращаются значения моего разрешения
А в процедуре запуска (FormCreate) устанавливать требуемые размеры формы пробовали? Ещё можно
Код:
Align := AllClient;
если я правильно понял, что нужно.

Последний раз редактировалось WinCoder; 27.12.2014 в 17:49.
WinCoder вне форума Ответить с цитированием
Старый 27.12.2014, 18:13   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нарисован фон под это разрешение
Я бы сделал отрисовку масштабируемой. Ну и в этом слу...
Стоп! А вот в данном случае лучше делать чем-то что позволяет натянуть скины на компоненты формы. Просто так над фоном располагать стаднартные контролы "угадывая" местоположение не совсем по феншую.
Это конечно же ИМХО, но я бы уж точно не стал так делать как ты задумал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.12.2014, 18:59   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
А ты думал как твоя программа будет работать на
А еще кроме разрешения есть DPI.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 27.12.2014, 20:33   #7
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Задать размеры и координаты окну и компонентам можно исходя из выводов пропорции. Подстройте под разрешение своего экрана(1366*768 точек), а потом создайте скрипт(код), который подстроит программу под разрешение экрана. Скажем, если разрешение экрана монитора в котором открыта программа в n раз меньше по разрешению, то и координаты и размерами у окна и компонента надо уменьшить в n раз. Описывать такой принцип очень трудно, но для определение данных пропорции можно использовать переменную Screen, которую Windows предоставляет с огромной радостью программисту, облегчая ему работу.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 27.12.2014, 20:39   #8
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Попробуйте такой метод:
Код:
procedure ChangeResolution(myForm:TForm);
var percent,resol: integer;
begin
resol:=1200;
  if Screen.Width = {< или >} resol then
  begin
    percent:=Round(((Screen.Width-resol)/resol)*100)+100;
    myForm.ScaleBy(percent,100);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.AutoSize:=True;
ChangeResolution(Self);
...
end;
Правда, не все компоненты "слушаются"...
kropotkina-alice вне форума Ответить с цитированием
Старый 27.12.2014, 20:45   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Скажем, если разрешение экрана монитора в котором открыта программа в n раз меньше по разрешению, то и координаты и размерами у окна и компонента надо уменьшить в n раз.
Ага, и Edit высотой 24 пикселя станет высотой ~13 пикселей для формы разработанной при разрешении 1920x1080 при работе на экране 800x600
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.12.2014, 20:53   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и Edit высотой 24 пикселя станет высотой ~13 пикселей
Угу. А если размер фонта не менять в эдите этом можно ниче не увидеть.
Так только быдлокодеры делают, которым пофик на свое творение, абы бабла с лохов сбить за контракт. Знаем мы таких, мучаемся уж какой год.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разрешение экрана qiperman Компьютерное железо 6 03.03.2014 08:12
Как вернуть старое разрешение экрана при критическом завершении программы? Asker13 Общие вопросы Delphi 4 11.05.2011 20:05
Разрешение экрана Kasper1 JavaScript, Ajax 0 21.02.2011 19:48
Разрешение экрана Sweta HTML и CSS 4 06.09.2008 10:05
Разрешение экрана Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 28.05.2008 23:17