Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Form auf auflösung anpassen (https://www.delphipraxis.net/180477-form-auf-aufloesung-anpassen.html)

djleshouze 22. Mai 2014 15:20

Form auf auflösung anpassen
 
habe hierzu ein paar code beispiele gelesen

aber hat nichts geklappt.

bin absoluter anfänger :)

kann mir bitte jemand weiter helfen?

erstelle ein form auf einem pc mit auflösung von 1280 x 1024 (Delphi 5)

möchte aber die proportionen auf einem pc mit auflösung 800x600 beibehalten.


CODE:

procedure TForm1.FormCreate(Sender: TObject);
const breite=1280; {Auflösung, unter der das Fenster erstellt wurde}
hoehe=1024;
var schrift: integer;
begin
schrift := pixelsperinch-96;
if screen.width>breite then begin
if schrift>0 then
{für große Schriften}
ScaleBy(round(((screen.width/breite)*100)-((screen.width/breite-1)*100)),100)
else
{für kleine Schriften}
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
{für große Schriften}
ScaleBy(round((100-(breite/screen.width-1)*100)-(breite/screen.width-1)*100),100)
else
{für kleine Schriften}
ScaleBy(round((100-(breite/screen.width-1)*100)),100);
end;
end;
WindowState := wsMaximized;
end;

Darlo 23. Mai 2014 09:07

AW: Form auf auflösung anpassen
 
Hi,

um Quellcode im Forum lesbar einzugeben kannst Du diesen in Delphi-Tag einfügen.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
const
  breite=1280; {Auflösung, unter der das Fenster erstellt wurde}
  hoehe=1024;
var
  schrift: integer;
begin
  schrift := pixelsperinch-96;
  if screen.width>breite then
    begin
      if schrift>0 then
        {für große Schriften}
        ScaleBy(round(((screen.width/breite)*100)-((screen.width/breite-1)*100)),100)
      else
        {für kleine Schriften}
        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
            {für große Schriften}
            ScaleBy(round((100-(breite/screen.width-1)*100)-(breite/screen.width-1)*100),100)
          else
            {für kleine Schriften}
            ScaleBy(round((100-(breite/screen.width-1)*100)),100);
        end;
     end;

  WindowState := wsMaximized;
end;
Was funktioniert denn genau nicht?

djleshouze 28. Mai 2014 14:17

AW: Form auf auflösung anpassen
 
hab schon gelöst :) aber hab wieder ein neues problem.

Sir Rufo 28. Mai 2014 15:34

AW: Form auf auflösung anpassen
 
Zitat:

Zitat von djleshouze (Beitrag 1260612)
hab schon gelöst :)

Das ist schön für dich, aber was haben zukünftige Leser dieses Beitrags davon, wenn die über die Suche hierhin gelangen?

Sie wissen bis hierhin nur, dass du es lösen konntest ...

Wenn du deine Lösung hier noch posten würdest wäre das sehr freundlich :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 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