Form skalieren

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
BerLin
Beiträge: 50
Registriert: So 17. Jun 2007, 16:51

Form skalieren

Beitrag von BerLin »

Hallo Forum,

ich wollte mal fragen, wie ihr eure Formen skalierbar macht. Ich habe eine Form mit ca. 30 Elementen, die skalierbar sein soll.
Die momentane Größe ist 800x600. Damit dachte ich, wäre ich auf der sicheren Seite, aber jetzt soll das Programm auch auf einer Bildschirmauflösung von 1024x600 laufen!
Jedes Element mit Anchors zu definieren finde ich keine schöne Lösung.
Mir wäre eine Skalierung der ganzen Form am liebsten.

Kennt jemand eine elegante Plattform unabhängige Lösung?

Viele Grüße
Berlin

u-boot
Beiträge: 306
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Form skalieren

Beitrag von u-boot »

Alignments und Splitter/Pairsplitter verwenden kann helfen.

Andere Lösung kenn ich persönlich nur über Form.Clientwidth, falls du da irgendwie maßstäbliche Vergrößerungen in Abhängigkeit der Fenstergröße machen willst.

Diese beiden Sachen müssten plattformübergreifend funktionieren soweit ich weiss. Evtl gibts noch andere Vorgehensweisen, aber ich denk es ist ein Anfang womit man arbeiten kann.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Form skalieren

Beitrag von carli »

Ich nutze Panels und die align-Eigenschaft.
Eine Hauptkomponente mit alclient und der Rest oben/unten/links/rechts angeordnet.

BerLin
Beiträge: 50
Registriert: So 17. Jun 2007, 16:51

Re: Form skalieren

Beitrag von BerLin »

Hallo Forum,

anbei meine "Lösung" (Demo-Programm).
Die einzelnen Elemente der Form werden in Breite und Höhe linear skaliert. Schriften sind noch nicht berücksichtigt.
Getestet im kleinen Maßstab unter LINUX GTK/GTK2 und QT, sowie unter Win32/64.
Unter GTK2 funktioniert das Form maximieren erst, wenn die Form fast das Maximum erreicht hat. GKT2 Bug?
Nicht gerade eine super schnelle Lösung, aber mit 45 Elementen sieht es nicht schlecht aus.

Verbesserungen nehme ich gerne entgegen.

Viel Spaß beim probieren.
BerLin
Dateianhänge
f_scaling.zip
(164.46 KiB) 141-mal heruntergeladen

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: Form skalieren

Beitrag von Bauer321 »

kann ich leider aufgrund einer fehlenden qt4pas5.dll nichts mit anfangen schade ;)
www.mcpatcher.net | www.hoeper.me

BerLin
Beiträge: 50
Registriert: So 17. Jun 2007, 16:51

Re: Form skalieren

Beitrag von BerLin »

Hallo Bauer321,

stelle mal den Compiler von QT auf Win32/Win64 um, dann sollte es auch bei dir laufen.

Grüße
BerLin

PS: Unter Windows läuft es deutlich schneller als GTK/QT

br_klaus
Beiträge: 244
Registriert: Do 21. Jan 2010, 22:33
OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
CPU-Target: 32Bit
Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)

Re: Form skalieren

Beitrag von br_klaus »

Hallo, habe hier ein kleines Programm, mit dem man beliebig viele Elemente einer Form zusammen mit dieser skalieren kann.
Funktioniert bei mir (Windows 32bit) ohne Probleme.
Viel Freude beim Ausprobieren.
P. Nikolaus



formskalieren.pas
(3.09 KiB) 156-mal heruntergeladen

Antworten