AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Probleme mit verschiedenen Bildschirmauflösungen
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit verschiedenen Bildschirmauflösungen

Ein Thema von HomerGER · begonnen am 30. Okt 2003 · letzter Beitrag vom 1. Nov 2003
Antwort Antwort
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#1

Probleme mit verschiedenen Bildschirmauflösungen

  Alt 30. Okt 2003, 22:07
Hallo Liebe Wissenden
Ich hab in meinem Programm diesen
Code eingebaut
Code:
//******************************************************************************
//Haupt_Unit
//Die Bildschirmauflösung ermitteln
Procedure Bild_Aufloesung_Setzen_HHU();
const
breite = 1024; {Auflösung, unter das Programm erstellt wurde}
hoehe = 768;
var
schrift: integer;
begin
    schrift := Haupt_Form.PixelsPerInch - 96;
    if (Screen.width > breite) then
    begin
        if (schrift > 0) then
        begin
            {für große Schriften}
            Haupt_Form.ScaleBy(round(((Screen.width / breite)*100) - ((Screen.width / breite - 1) *100)), 100);
        end
        else
        begin
            {für kleine Schriften}
            Haupt_Form.ScaleBy(round(((Screen.width / breite)*100)), 100);
        end;
    end
    else
    begin
        if (Screen.width = breite) then
        begin
            Haupt_Form.ScaleBy(round(((Screen.width / breite) *100) - schrift), 100);
        end
        else
        begin
            if (schrift > 0) then
            begin
                {für große Schriften}
                Haupt_Form.ScaleBy(round((100 - (breite / Screen.width - 1) *100)-(breite / Screen.width - 1) *100), 100);
            end
            else
            begin
                {für kleine Schriften}
                Haupt_Form.ScaleBy(round((100 - (breite/Screen.width - 1) *100)),100);
            end;
        end;
    end;
end;
Nur wenn ich die Button oder Labelgrösse nicht explizit im Programm definiere werden die Button bei einer Größeren Auslösung (z.b. 1600x1200) rissig
Wie bekomme ich es hin, das die Poportionen passen
Wenn meine Form (bei 1024x768) auf max steht und ein Panel sagen wir auf 400x600 und in der Mitte der Form steht, ich dann die Auflösung auf z.b 1600x1200 stelle, möchte ich doch das alles noch passt.
Sprich das Panel immer noch in der Mitte steht und sich der Größe der Form angepasst hat
Hat jemand was?

Herr wirf Hirn - bitte
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#2

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 31. Okt 2003, 00:14
Soweit mir bekannt, gibt es keine Andere Lösung als den (zugegeben sehr aufwändigen) Weg, den Du schon für das Form gehst, für jedes einzelne Control auf Deinem Form zu gehen. Sprich - Du mußt nach Programmstart alle Controls dynamisch skalieren.
Wurde hier schon diskutiert
Und da auch
Tim Leuschner
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#3

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 31. Okt 2003, 01:35
muss ich jetzt das für alle elemente machen?
nun gut, ist halt nur mehr arbeit
was ist jetzt aber beser mit der kleinsten auflösungen zu arbeiten oder mit der grössten?
also mit welcher auflösung soll ich mein programm schreiben ?
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#4

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 31. Okt 2003, 01:37
mit der größten, wenn Du die rechnerisch genaueste skalierung erreichen möchtest, da der Rundungsfehler aber immer zuschlägt (mußt ja immer auf ganze Pixel runden), denke ich es ist in der Praxis Wurscht.
Grüße
Tim Leuschner
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#5

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 31. Okt 2003, 04:27
verfluchter Mist
bei 1600x1200 seh ich nix mehr
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 31. Okt 2003, 10:20
Ist auch gut so. Du gehst nämlich verkehrt rum vor. Würde Dein Programm standardmäßig con 1600x1200 ausgehen, so würde sich ein User mit 640x480 fast zu Tode scrollen, weil er immer nur einen kleinen Ausschnitt des Gesamtbildes sieht. Umgekehrt siehts ähnlich aus. Ist das Programm nämlich auf 640x480 eingestellt, so würde Dein Programm sehr mickrig werden, sofern der Bildschirm auf 1600x1200 eingestellt ist.

Ich benutze deshalb 800x600 als Mittelweg. Die wenigen mit geringerer Auflösung müssen dann eben ab und zu scrollen und die mit wesentlich höherer können zumindest noch alles lesen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#7

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 31. Okt 2003, 11:08
Zitat von Leuselator:
mit der größten, wenn Du die rechnerisch genaueste skalierung erreichen möchtest, da der Rundungsfehler aber immer zuschlägt (mußt ja immer auf ganze Pixel runden), denke ich es ist in der Praxis Wurscht.
Grüße
er schreib mit der grössten


Zitat von Hansa:
Ist auch gut so. Du gehst nämlich verkehrt rum vor. Würde Dein Programm standardmäßig con 1600x1200 ausgehen, so würde sich ein User mit 640x480 fast zu Tode scrollen, weil er immer nur einen kleinen Ausschnitt des Gesamtbildes sieht. Umgekehrt siehts ähnlich aus. Ist das Programm nämlich auf 640x480 eingestellt, so würde Dein Programm sehr mickrig werden, sofern der Bildschirm auf 1600x1200 eingestellt ist.

Ich benutze deshalb 800x600 als Mittelweg. Die wenigen mit geringerer Auflösung müssen dann eben ab und zu scrollen und die mit wesentlich höherer können zumindest noch alles lesen.
du mit der (fast) kleinsten

  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#8

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 31. Okt 2003, 17:17
@Hansa: Da er alle sichtbaren Elemente skalieren möchte, fällt scrollen weg.
@HomerG: wie ich sagte: durch das Runden auf ganze Pixel bekommst Du ohnehin kleine Abweichungen zwischen den Auflösungen - mach Dir also keinen Stress damit und benutze zum Entwurf eine für Dich angenehme und gut sichtbare Größe. Wenn Du wirklich alle Controls dann zur Laufzeit dynamisch skalierst, sollte es sowohl bei kleineren als auch bei größeren Auflösungen als der zur Entwurfszeit ganz gut aussehen.

Grüße
Tim Leuschner
  Mit Zitat antworten Zitat
Benutzerbild von HomerGER
HomerGER

Registriert seit: 9. Jun 2003
390 Beiträge
 
Delphi 7 Professional
 
#9

Re: Probleme mit verschiedenen Bildschirmauflösungen

  Alt 1. Nov 2003, 10:51
hi
also wenn ich wie oben die Function benutze und im Programm NICHT die grösse der Button definiere
skaliert delphi es automatisch - sonst werden die Button mit höherer Auflösung die button kleiner oder umgekehrt
nur nicht bei meinem ActionMainmenuBar .. hmmmm
also werde ich die Function oben noch um die komp's erweitern die damit nicht eingeschlossen sind
  Mit Zitat antworten Zitat
Antwort Antwort


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:10 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