AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Das alte 96dpi->120dpi Problem: Wie skaliert man richtig?
Thema durchsuchen
Ansicht
Themen-Optionen

Das alte 96dpi->120dpi Problem: Wie skaliert man richtig?

Ein Thema von alleinherrscher · begonnen am 24. Aug 2009 · letzter Beitrag vom 18. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#1

Das alte 96dpi->120dpi Problem: Wie skaliert man richtig?

  Alt 24. Aug 2009, 10:57
Hi@all!

Ich weiß, dass es zu diesem Thema schon einige Threads gibt, welche ich auch aufmerksam gelesen habe, wie z.B. diese hier:

http://www.delphipraxis.net/internal...hlight=120+dpi
http://www.delphipraxis.net/internal...hlight=120+dpi
http://www.delphipraxis.net/internal...hlight=120+dpi

Allerdings habe ich die Lösungstipps schon getestet und sie funktionieren nicht - soll heißen: Wenn ein Benutzer meines Programms eine Schriftauflösung <>96dpi einstellt, werden die Controls auf dem Formular wild hin und her verschoben... (ein Beispiel ist im Anhang)

Gibt es nun eine "professionelle" Lösung um dieses Problem in den Griff zu bekommen? - und damit meine ich: Eine universelle Lösung, bei der man das Formular nicht für jede Schriftauflösung neu designen muss, und die nicht dem Motto "hm, komischerweise funktioniert es bei mir, wenn ich irgendeine Einstellung während der Laufzeit auf false und später auf true setze" folgt?

Programme wie z.B. der Firefox haben das Problem ja auch im Griff...

Viele Grüße,

Euer Alleinherrscher
Miniaturansicht angehängter Grafiken
clipboard02_209.png   clipboard01_764.png  
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 24. Aug 2009, 11:15
Du solltest mit Panels arbeiten in der du die Buttons hinzufügst und dann diese per Alignment ausrichtest.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 24. Aug 2009, 17:47
Hallo alleinherrscher,

Wenn ich mich richtig erinnere, hab ich meinen Senf damals auch dazu gegeben. in der Zwischenzeit bin ich ein kleines Stückchen weiter:

1) laß die Finger von Tform.scaled, das sollte immer false sein (default ist true).

2) Zeiche jedes Form immer selbst (ist aufwendig, aber dann weißt Du was Du hast!).

Wenn ich die Lösung von Bernhard richtig verstanden habe, dann begrenzt das Panel die "verwilderten Labels/Memos..." nur, und das Chaos fällt nicht ganz so auf.

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 25. Aug 2009, 16:52
Zitat von p80286:
1) laß die Finger von Tform.scaled, das sollte immer false sein (default ist true).
Sollte es nicht. Man kann super mit TForm.Scaled=True arbeiten ohne das irgendwas zerschossen ist!

Das Hauptproblem bei Scaled=True ist das sich die Formulargröße nicht mit mit vergrößert Falls man ein Sizeable Formular hat, aber die Controls im Formular evtl. doch ihre Position anpassen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 27. Aug 2009, 15:42
@Bernhard
Zitat:
Das Hauptproblem bei Scaled=True ist das sich die Formulargröße nicht mit mit vergrößert Falls man ein Sizeable Formular hat, aber die Controls im Formular evtl. doch ihre Position anpassen.
Das ist doch das Problem! alle controls die Text enthalten könnten, vergrößern sich und dadurch sieht die Oberfläche auf einmal ganz schön verrutscht aus.
Mit scaled=false gibt es diesen Verschiebeeffekt nicht und "nur" der eigentliche Text passt nicht mehr.

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

Registriert seit: 22. Jan 2008
Ort: Erfurt
958 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 27. Aug 2009, 15:44
Zitat von p80286:
@Bernhard
Zitat:
Das Hauptproblem bei Scaled=True ist das sich die Formulargröße nicht mit mit vergrößert Falls man ein Sizeable Formular hat, aber die Controls im Formular evtl. doch ihre Position anpassen.
Das ist doch das Problem! alle controls die Text enthalten könnten, vergrößern sich und dadurch sieht die Oberfläche auf einmal ganz schön verrutscht aus.
Mit scaled=false gibt es diesen Verschiebeeffekt nicht und "nur" der eigentliche Text passt nicht mehr.

Gruß
K-H
selbst Delphi2010 hat dieses Problem in seinen Masken
Gruss Kaki

Repeat Until true=false;
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 27. Aug 2009, 16:06
Hey, danke für diese ganzen Antworten - Also ich habe mal bei Microsoft gesucht und ein pdf zu dem Thema gefunden:

http://go.microsoft.com/fwlink/?LinkID=129586

Vielleicht hilft ja auch sowas hier:

http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

Aber ich bin noch nicht wirklich durchgestiegen... kennst sich jemand damit aus
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 29. Aug 2009, 11:58
Jemand noch irgendwelche weiteren Ideen?
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 29. Aug 2009, 12:09
Ein Beispiel wie man mit Panels arbeiten kann:

Du willst einen OK und Cancel-Button rechts unten auf einen größenveränderlichen Dialog.

Positioniere erst ein Panel das du Align = alBottom setzt.
Darin legst du ein Panel mit Align = alRight und dorthin legtst du deine beiden Buttons.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Das alte 96dpi->120dpi Problem: Wie skaliert man rich

  Alt 14. Sep 2009, 15:40
Hallo, Bernhard Geyer!

Vielen Dank für deine Tipps! Ich habe nun mal versucht, die Panels einzubauen. Mit ein bisschen Fummel-lei funktioniert dies nun, wie man im Anhang sehen kann. Allerdings bekomme ich nun folgendes Problem:

- Starte Programm -> Maximiere Chatfenster -> Verkleinere Chatfenster wieder -> Ergebnis: Chatfenster ist leer (Panels verschwunden)
-> ziehe nun mit der Maus das Chatfenster größer o. kleiner -> Ergebnis: Panels wieder an der richtigen Stelle.

Kann mir das jemand erklären bzw. habe ich etwas falsch gemacht mit den Panels?


Viele Grüße, Michael
Angehängte Dateien
Dateityp: rar chatfenster_135.rar (208,5 KB, 15x aufgerufen)
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  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 10:06 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