Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi ScaleBy ... verkleinern? (https://www.delphipraxis.net/119941-scaleby-verkleinern.html)

BullsEye 3. Sep 2008 13:17


ScaleBy ... verkleinern?
 
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ß

Hansa 3. Sep 2008 18:34

Re: ScaleBy ... verkleinern?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe das mal so abgekupfert. Oben ist zu sehen, wie es aussieht bei 3 Klicks. Unten das mit ca. 5 Klicks. Das wird immer verkleinert. Vielleicht ist das ScaleBy doch zu gebrauchen. Hatte das schon abgehakt. 8) Die Form wird aber nicht verändert. Wieso das ?

BullsEye 4. Sep 2008 08:15

Re: ScaleBy ... verkleinern?
 
Wenn du den Code hast, kann man dir ja auch vllt sagen, WARUM das Formular nicht kleiner wird..

bzw wie hast du das denn nu gemacht, das es kleiner wird?

Hansa 6. Sep 2008 00:35

Re: ScaleBy ... verkleinern?
 
Dein Button27 ist bei mir btn1. Und der geht im Moment nicht. Debugger landet nicht mal in der OnClick-Prozedur. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz