Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Exe mit zu großer Auflösung (https://www.delphipraxis.net/112937-exe-mit-zu-grosser-aufloesung.html)

peacekeaper 29. Apr 2008 21:32


Exe mit zu großer Auflösung
 
moin moin!

hab da mal ne frage ^^

und zwar programmiere ich ein programm (Delphi) mit einer Bildschirmauflösung
von 1280 x 960. soweit so gut

gibt es eine möglichkeit, wenn man an einem anderen
rechner ohne delphi (und schlechter grafikkarte) die exe startet,
die "auflösung" des programms kleiner zu machen!?
oder kann ich vorher beim programmieren schon an ieiner einstellung
basteln damit sich das prog automatisch anpasst?!

danke für jegliche konstruktive hilfe ;)

mfg markus!

Fussball-Robby 29. Apr 2008 21:36

Re: Exe mit zu großer Auflösung
 
Nach ca. 10 Sekunden Suche nach "Auflösung": Klick

Mfg

toms 29. Apr 2008 21:41

Re: Exe mit zu großer Auflösung
 
Hallo

Hier findest du einige Tipps
(English): What to keep in mind when scaling Delphi apps on different screen resolultions

peacekeaper 29. Apr 2008 21:48

Re: Exe mit zu großer Auflösung
 
ok da hab ich wohl gepennt^^

Delphi-Quellcode:
sWidth := Screen.MonitorFromWindow(Handle).Width / Width;
  sHeight := Screen.MonitorFromWindow(Handle).Height / Height;
nur bleibt ein problem...mein delphi erkennt einen undefinierten
bezeichner, MonitorFromWindow ist ihm unbekannt.
eine idee?!

( @ toms:
so gut ist mein englisch auch wieder nicht ;) und außerdem ist das programm
schon fertig - also hab ich jetzt nich mehr die möglichkeit vorher daran zu denken
meine form kleiner zu machen ^^ aber danke!)

EDIT:
hab das ganze mal in meinen code geklatscht
und anstatt dem MonitorFormWindow einfach Monitors[1] benutzt
aber das ist eigentl nicht das was ich suche!
denn dieser code maximiert einfach das ganze fenster so,
dass es quasi an die auflösung angepasst maximiert ist.

ich bräuchte etwas was die form im verhältnis zu der vorhandenen
auflösung verändert und nicht einfach maximiert!

DeddyH 30. Apr 2008 07:29

Re: Exe mit zu großer Auflösung
 
Du könntest mal nach Hier im Forum suchenSkalieren suchen.

Blackheart 30. Apr 2008 07:49

Re: Exe mit zu großer Auflösung
 
Probiers mal damit.
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
const breite=800; // Hier Angeben in Welcher Auflösung du Programmiert hast
  hoehe=600;
var schrift: integer;
begin
  schrift := pixelsperinch-96;
  if screen.width>breite then begin
    if schrift>0 then
     ScaleBy(round(((screen.width/breite)*100)-((screen.width/breite-1)*100)),100)
    else
     ScaleBy(round(((screen.width/breite)*100)),100);
  end
  else begin
    if screen.width=breite then
      ScaleBy(round(((screen.width/breite)*100)-schrift),100)
    else begin
      if schrift>0 then
       ScaleBy(round((100-(breite/screen.width-1)*100)-(breite/screen.width-1)*100),100)
      else
       ScaleBy(round((100-(breite/screen.width-1)*100)),100);
    end;
  end;
end;

peacekeaper 30. Apr 2008 13:55

Re: Exe mit zu großer Auflösung
 
ja sehr gut nach sowas hab ich gesucht ^^

welche einstellung in dem text muss ich denn verändern,
damit nicht nur alles was auf der form ist sondern auch
die form selbst kleiner/ größer wird?!

Blackheart 1. Mai 2008 07:48

Re: Exe mit zu großer Auflösung
 
Nur deine Auflösung angeben dann sollte es funktionieren.

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
const breite=1280; // Hier Angeben in Welcher Auflösung du Programmiert hast
  hoehe=960;
var schrift: integer;
begin...

himitsu 1. Mai 2008 08:04

Re: Exe mit zu großer Auflösung
 
Beim erstellen der Form aber aufpasen, daß es erstmal vollständig auf den Desktop (Monitor) paßt, denn Delphi hat ein kleines Problem beim erstellen zu großer Forms.
Es reagiert nicht auf die Größenbeschränkung seitens Windows und vorallem bei den Ancors vergißt es da entsprechende Anpassungen vorzunehmen.

Ein Form kann nur so groß erstellt werden, wie die Auflösung ist.


Also erstmal die Form klein laden und dann z.B. in OnCreate anpassen (vergrößern).
> maximal 1024x768 (inklusive Titelleiste und Rahmen, also etwas kleiner) wäre wohl ausreichend.






Oder man kümmert sich selbst um die Ausrichtung und Positionierung der Komponenten,
aber das wäre wohl oftmals mit "zu viel" und unnötigem Aufwand verbunden.

peacekeaper 1. Mai 2008 22:24

Re: Exe mit zu großer Auflösung
 
ja also mein prog lief heute...so gute 5 stunden lang
ohne probleme!
und auch mit der auflösung,
ein rechner war 1024x*der passende wert* :D
der andere 800x600
hat alles super funktioniert!

nochmal danke für den code...hätte ich alleine
wohl nie hinbekommen ^^

grüße markus


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.
Seite 1 von 2  1 2      

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