In einer
Unit, welche von allen anderen geladen wird eine Prozedure schreiben, welche den Code aus deiner FormCreate enthält und die einzustellende Form als Parameter übergeben. Zweite Möglichkeit: das im Prinzip gleiche Verfahren über eine Include-Datei.
Also: in irgendwas.pas folgende Procedure:
Delphi-Quellcode:
procedure FormScale(f: TForm);
var x, y: integer;
begin
Scaled := true;
x := Screen.width;
y := screen.height;
if (y <> ScreenHeightDev) or (x <> ScreenWidthDev) then
begin
f.height := (f.clientheight * y div ScreenHeightDev) + f.height - f.clientheight;
f.width := (f.clientwidth * x div ScreenWidthDev) + f.height - f.clientheight ;
scaleBy(x, ScreenwidthDev);
end;
end;
Diese dann über USES oder INCLUDE in deine Units welche scaliert werden sollen einbinden und aufrufen
Delphi-Quellcode:
procedure TForm1.Create.... (oder irgend einandere passende Prozedure/Funktion)
begin
....
FormScale(Form1); // und die zu ändernde Form übergeben
....
end;
Nicht getestet, sollte aber funktionieren!
[EDIT]
was ist scaled? - eine Varable von dir? wenn ja, muss die natürlich auch an die Procedure übergeben werden:
procedure FormScale(f: TForm; var scaled: Boolean);
Frage ist ob diese benötigt wird.