Irgendwo habe ich mal folgenden Code gefunden:
Delphi-Quellcode:
const breite=1200; {Auflösung, unter der das Fenster erstellt wurde}
hoehe=1000;
var schrift: integer;
begin
schrift := pixelsperinch-96;
if screen.width>breite then begin
if schrift>0 then
{für große Schriften}
Form1.ScaleBy(round(((screen.width/breite)*100)-((screen.width/breite-1)*100)),100)
else
{für kleine Schriften}
Form1.ScaleBy(round(((screen.width/breite)*100)),100);
end
else begin
if screen.width=breite then
Form1.ScaleBy(round(((screen.width/breite)*100)-schrift),100)
else begin
if schrift>0 then
{für große Schriften}
Form1.ScaleBy(round((100-(breite/screen.width-1)*100)-(breite/screen.width-1)*100),100)
else
{für kleine Schriften}
Form1.ScaleBy(round((100-(breite/screen.width-1)*100)),100);
end;
end;
Das ganze im OnFormCreate. Vllt kannst du ja was damit anfangen.