Масштабирование формы при изменение разрешения экрана
Подскажите,пожалуйста,как сделать,чтоб при изменении разрешения масштабировал ась моя форма со всем содержимым?
Код:
implementation
const
ScreenWidth: Integer = 800; {Я разрабатывал свою форму в режиме 800x600.}
ScreenHeight: Integer = 600;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
x, y: LongInt; {Тип Integer не достаточно большой для наших значений.}
begin
form1.scaled := true;
x := getSystemMetrics(SM_CXSCREEN);
y := getSystemMetrics(SM_CYSCREEN);
if (x <> ScreenHeight) or (y <> ScreenWidth) then
begin
form1.height := form1.height * x div ScreenWidth;
form1.width := form1.width * y div ScreenHeight;
end;
if x <> ScreenWidth then
scaleBy(x, ScreenWidth);
end;
const
ScreenWidth: Integer = 800; {Я разрабатывал свою форму в режиме 800x600.}
ScreenHeight: Integer = 600;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var
x, y: LongInt; {Тип Integer не достаточно большой для наших значений.}
begin
form1.scaled := true;
x := getSystemMetrics(SM_CXSCREEN);
y := getSystemMetrics(SM_CYSCREEN);
if (x <> ScreenHeight) or (y <> ScreenWidth) then
begin
form1.height := form1.height * x div ScreenWidth;
form1.width := form1.width * y div ScreenHeight;
end;
if x <> ScreenWidth then
scaleBy(x, ScreenWidth);
end;
по горизонтале всё вписывается нормально а по вертикале немножко уезжает в низу . Не знаете в чём может быть причина?
if (x <> ScreenHeight) высота
or (y <> ScreenWidth) ширина
а потом
if x <> ScreenWidth ширина
Быть может в этом причина?