Witam mam duży problem z zrobieniem proporcjalnosci w programie. Chodzi mi o to zeby podczas zmienic rozmiar wszystkich komponentów o dowolne k czyli jakąs skale. Zrobiłem cos takiego :
var
i : integer;
begin
Skala := 2;
Form1.Width:=Round(Form1.Width * Skala);
Form1.Height:=Round(Form1.Height * Skala);
For i:=0 to ComponentCount-1 do begin
if (components[i] is TSpeedButton) then begin
(Components[i] as TSpeedButton).Width:=Round((Components[i] as TSpeedButton).WidthSkala);
(Components[i] as TSpeedButton).Height:=Round((Components[i] as TSpeedButton).HeightSkala);
end;
if Components[i].Tag=100 then (Components[i] as TPanel).Height:=Round((Components[i] as TPanel).Height * Skala);
end;
end;
I komponenty odpowiednio zmieniaja swój rozmiar ale nie pozycje czyli zdarza sie tak ze komponent nachodzi na komponent. Trzeba jeszcze ustalic wartosc dla left i top, ale na to nie mam pomysłu i dlatego prosze o pomoc. Z gory wielkie DZIEKI !!!!!!