Текущий архив: 2006.10.29;
Скачать: CL | DM;
Вниз
Внешний вид формы при разных разрешениях Найти похожие ветки
← →
фтвкун (2006-10-12 19:50) [0]Такая проблема: нужно сделать так, чтобы все компоненты на форме(Label, edit, stringgrid, кнопки и т.д.) вне зависимости от разрешения экрана находились посередине формы и имели один и тот же размер. Также нужно чтобы в Stringgridе вне зависимости от разрешения колонки были фиксированного размера. Одним словом, нужно, чтобы программа при разных разрешениях смотрелась одинаково красиво.
Как это сделать наиболее простым и удобным способом?
Заранее спасибо.
← →
@!!ex © (2006-10-12 20:03) [1]
> Такая проблема: нужно сделать так, чтобы все компоненты
> на форме(Label, edit, stringgrid, кнопки и т.д.) вне зависимости
> от разрешения экрана находились посередине формы и имели
> один и тот же размер.
ТОварищ, вы сами то это представляете?
Помоему проще запретить изменение размера формы.
← →
фтвкун (2006-10-12 20:06) [2]у меня приложени состоит из нескольких форм, каждая из которых во весь экран (align=alclient)
Дома пишу под одним разрешением - всё красиво, приношу заказчику - у него другое разрешение и выглядит фигово :(
← →
@!!ex © (2006-10-12 20:17) [3]
> фтвкун (12.10.06 20:06) [2]
Перечитай свой первый пост.
Если менять положение по твоему закону, то при увеличении размеров формы, все компоненты уедут к центру, а по краям будет пустое место - лажа.
При уменьшении размеров будет еще хуже, компоненты уедут за края формы.
Юзай Anchors
← →
Kolan © (2006-10-12 20:31) [4]
> Дома пишу под одним разрешением - всё красиво, приношу заказчику
> - у него другое разрешение и выглядит фигово :(
Ну и сделай чтобы под любым разрешением было красиво - сделай "резиновый интерфейс"..
> Помоему проще запретить изменение размера формы.
Конечно проще, но лично меня такие программы беся и сильно(кроме тех что должны быть фиксированного размера).
> При уменьшении размеров будет еще хуже, компоненты уедут
> за края формы.
Это да - это просчеты при разработке интерфейса вообще
← →
фтвкун (2006-10-12 20:39) [5]Дык вот вопрос в том, как его сделать, этот резиновый интерфейс?
При начале работы программы узнать разрешение экрана и перерисовать все компоненты? А какой функцией можно разрешение узнать?
← →
Kolan © (2006-10-12 20:43) [6]
Screen.Width
событиеOnResize
А вообще большая часть делается без единой строчки кода. Ancors, Splitter, Align...
← →
@!!ex © (2006-10-12 20:46) [7]
> Ну и сделай чтобы под любым разрешением было красиво - сделай
> "резиновый интерфейс"..
Задача стоит с фиксированным размером и в центре формы.
Резиновый интерфейс(Я, кстати, тоже за него обеими руками) нарушает указанные в [0] законы.
> Конечно проще, но лично меня такие программы беся и сильно(кроме
> тех что должны быть фиксированного размера).
Согласен.
> фтвкун (12.10.06 20:39) [5]
Покажи скрин своего проекта, скажем чего, как и куда прикреплять.
← →
ASoft (2006-10-13 05:54) [8]было давно и не правда....честно, не помню уже...
что-то подобное этому...
const
ScreenHeight: LongInt = 800; { в разрешении 800x600}
ScreenWidth: LongInt = 600;
//****в OnCreate:
...
var
x, y: LongInt;
begin
Form1.scaled := true;
x := getSystemMetrics(SM_CXSCREEN);
y := getSystemMetrics(SM_CYSCREEN);
if (x <> ScreenHeight) or (y <> ScreenWidth) then
begin
Form1.height := (Form1l.Height * x DIV ScreenHeight)-100; {100, это к примеру. Не помню... вручную что ли подгонял?!}
Form1..width := (Form1.width * y DIV ScreenWidth)-150;
scaleBy(x, ScreenHeight);
......
end;
← →
фтвкун (2006-10-13 17:03) [9]Спасибо за помощь, буду разбираться!
Страницы: 1 вся ветка
Текущий архив: 2006.10.29;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.039 c