AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Programm an Bildschirmauflösung anpassen
Thema durchsuchen
Ansicht
Themen-Optionen

Programm an Bildschirmauflösung anpassen

Ein Thema von MiniMax · begonnen am 22. Aug 2010 · letzter Beitrag vom 28. Feb 2012
Antwort Antwort
Seite 1 von 2  1 2      
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#1

Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 15:06
Moin Zusammen,
ich habe folgendes Problem: Ich programmiere meine Software auf einem Rechner mit 1440 x 900 pixel Auflösung. wenn ich das programm auf anderen Rechnern Starten möchte (mit einer anderen auflösung), wir alles verzerrt und schief angezteigt.
Nun habe ich es Bereits mit mehreren Codes probiert, die alle nicht den erwünschten erfolg brachten mal fehlte hier was und mal dort was (z.b. Buttons) oder manches wurde garnet erst skaliert (twebbrowser).
Ich hoffe dass ihr einen Code habt mit dem dies Automatisch passiert! Ich bitte um eure Hilfe

euer MiniMax

Hier mal alle drei Codes dienet funken

Delphi-Quellcode:
procedure TForm1.MaximizeAndScale;
var
  sWidth: Double;
  sHeight: Double;
begin
  sWidth := Screen.MonitorFromWindow(Handle).Width / Width;
  sHeight := Screen.MonitorFromWindow(Handle).Height / Height;
  if sWidth < sHeight then
  begin
    ScaleBy(Round(Screen.MonitorFromWindow(Handle).Width * 1.02), Width);
  end
  else
  begin
    ScaleBy(Round(Screen.MonitorFromWindow(Handle).Height * 1.02), Height);
  end;
  //WindowState := wsMaximized;
end;




procedure TForm1.scaleform;
const breite=1440; {Auflösung, unter der das Fenster erstellt wurde}
  hoehe=900;
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;


procedure tform1.ScaleForme;
const
   screenwidthdev = 1440; // Einstellungen auf dem Entwicklungsrechner
   screenheightdev = 900; // dito
var
   x,y:integer;

begin
   //scaled := true;
   x:= Screen.width;
   y:= Screen.Height;
   if(y <> ScreenHeightDev) or (x <> ScreenwidthDev) then
     begin
        Form1.Height := (Form1.ClientHeight* y div ScreenHeightDev) +
                                Form1.Height- Form1.ClientHeight;
        Form1.Width := (Form1.ClientWidth * x div ScreenWidthDev) +
                                Form1.Height - Form1.ClientHeight;
        begin
        form1.ScaleBy(x,Screenwidthdev);
     end;
     end;
end;
Gruß
MiniMax
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 15:28
Objectinspector: Alignment, Anchors?
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#3

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 17:04
Hi ja aber geht das dann? Also mit jeder Auflösung? Und nicht beim Größer Ziehen?
Gruß
MiniMax
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 17:13
Du schreibst das alles verzerrt und schief ist. Was erwartest du? Das ist jetzt nicht als kritik gedacht aber bevor man dir eine Lösung präsentieren kann musst du selbst auch wissen (und uns mitteilen) wie du es haben willst. Wenn man die Ausmaße von etwas verändert, ändert sich nunmal die Größe.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#5

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 17:36
Also ich habe mein Programm auf einen destop Pc mit 1440x900 geschreiben. Aber wenn ich es auf meinem Netbook starte ist alles viel zu groß da der auf 600x800 läuft! Wenn ich jetzt die geposteten Codes nehme, verschwinden die Buttons unter dem Webbrowser! Darum ist meine Frage ein bissel verwirrend
Gruß
MiniMax
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 17:46
Mach doch mal einen Screenshot von deiner Form, dann können wir sehen was du da für Elemente hast.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 18:02
Also ganz ehrlich, man sollte Programme nicht für verschiedene Auflösungen anpassen.
Denn wenn jemand eine höhre Auflösung hat möchte er diese auch gern nutzen um mehrere Programme nebeneinander platzieren zu können etc..
Und wer eine geringe Auflösung hat, hat in der Regel auch einen kleinen Bildschirm so dass, das Programm genau so groß ist (in Zentimetern auf dem Bildschirm).
Du solltest also lieber das Programm von vornherein für die kleinste Auflösung schreiben die du unterstützen willst. Und um unter größeren Auflösungen mehr Informationen bereit stellen zu können (zum Beispiel mehr sichtbare Einträge in einer Listbox) kann man die Anchors verwenden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#8

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 18:09
hier mal nen screenshot
Miniaturansicht angehängter Grafiken
unbenannt.jpg  
Gruß
MiniMax
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Programm an Bildschirmauflösung anpassen

  Alt 22. Aug 2010, 19:17
Hier mal ein Beispiel...
Angehängte Dateien
Dateityp: zip FormTest.zip (1,4 KB, 508x aufgerufen)
  Mit Zitat antworten Zitat
MiniMax

Registriert seit: 15. Dez 2009
Ort: Bremen
193 Beiträge
 
Delphi 2009 Architect
 
#10

AW: Programm an Bildschirmauflösung anpassen

  Alt 23. Aug 2010, 14:08
cool das funktioiert -- danke
Gruß
MiniMax
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 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