Thema: Delphi ScaleBy ... verkleinern?

Einzelnen Beitrag anzeigen

BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#1

ScaleBy ... verkleinern?

  Alt 3. Sep 2008, 13:17
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ß
  Mit Zitat antworten Zitat