Heyho
DP'ler,
Ich habe mich mal ein wenig mit der Funktion "ScaleBy" befasst. Allerdings komm ich da zu keinem Sinnvollen Ergebniss!
Der folgende Code soll das Programm automatisch an die Auflösung anpassen! Ich hab es auf einen Button gelegt und kann damit das Programm vergrößern (Bei jedem Klick wird es ein Stück größer!)
Delphi-Quellcode:
procedure TForm2.Button27Click(Sender: TObject);
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;
end;
Das ist ja soweit auch akzeptabel!
Nur will ich das nun auch wieder kleiner bekommen! Nur irgendwie wird das nicht so, wie es soll... Gibt es irgendwie auch ne Möglichkeit das auf ne ScrollBar zu übertragen? Sprich das das Programm beim ersten start 'normal' ist und die ScrollBar bei 50% steht und ich dann halt kleiner und größer wählen kann? Dann brauch ich ja keine 2 Buttons und haufenweise klick's
gruß