[Gelöst] GUI für verschiedene Betriebssysteme und Bildschirmauflösungen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
Levario
Beiträge: 101
Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 3.0.0 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW

[Gelöst] GUI für verschiedene Betriebssysteme und Bildschirmauflösungen

Beitrag von Levario »

Hallo zusammen,

mein standard Notebook für die Entwicklung hat eine Full HD Auflösung Win10 Pro (Eigne Firma). Mein Kunden PC Power Notebook 4K Win10 Pro. Ein alter Linux Rechner 1366 x 768Pixel. Wie schafft man es mit Lazarus die GUI auf allen Rechnern gut aussehen zu lassen? Oder an welcher Bildschirmgröße orientiert ihr euch? So eine Art Responsive GUI dürfe ja ziemlich schwer sein.

Bin auf eure Antworten und Meinungen gespannt!
Zuletzt geändert von Levario am So 1. Mai 2022, 07:12, insgesamt 1-mal geändert.
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: GUI für verschiedene Betriebssysteme und Bildschirmauflösungen

Beitrag von wp_xyz »

Packe in OnCreate eine Limitierung der Formulargröße und berechne auch die Formular-Position entsprechend der Monitor-Größe (besonders hässlich sind Programme, bei denen die Formulare auf dem 2. Bildschirm entworfen worden sind). Beim Programmstart muss auf dem kleinsten Monitor alles vollständig sichtbar sein, und auf dem mit der größten Auflösung darf das Formular nicht zu einer Briefmarke schrumpfen.

Aktiviere in den Projekt-Optionen das "LCLScaling", auf Windows auch "DPI Awareness" auf "on" setzen. Damit passen sich alle Controls in ihrer Größe der Pixeldichte des Monitors an. In ImageListen mehrere Bildgrößen verwenden und ImageList.Scaled=true setzen, damit bei hoher Auflösung größere Bilder verwendet werden. (ich habe das mehrfach hier beschrieben -> Forums-Suche verwenden). Aber Achtung bei Fremdkomponenten: nicht überall wird das LCLScaling intern unterstützt.

Positioniere die Controls auf dem Formular nicht mit der Maus, sondern mit dem Anker-Editor, so dass sich die Controls zueinander automatisch ausrichten. Das ist besonders wichtig, wenn das Programm auf mehreren Plattformen und/oder mehreren Sprachen laufen soll, denn so vermeidest du Überraschungen mit sich überschneidenden Controls.

Benutzeravatar
Levario
Beiträge: 101
Registriert: Mo 1. Sep 2014, 14:32
OS, Lazarus, FPC: Windows 10 Pro Laptop (Lazarus 3.0.0 FPC 3.2.2)
CPU-Target: 64 Bit
Wohnort: Deutschland / NRW

Re: GUI für verschiedene Betriebssysteme und Bildschirmauflösungen

Beitrag von Levario »

Vielen Dank ich werde es mal testen und alles anpassen. Das hat mir sehr geholfen.
Der Weg ist das Ziel... Aber bitte nicht vergessen los zu laufen :).

Antworten