Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Formgröße automatisch anpassen bei 120DPI


dirkil2 - Di 18.11.08 18:50
Titel: Formgröße automatisch anpassen bei 120DPI
Einige Nutzer unserer Applikation haben die Windowseinstellung unter Anzeige auf 120DPI (groß) statt 96 DPI (normal). Das führt dazu, dass die Schrift größer dargestellt wird, was dazu führt, dass einige Controls größer werden. Leider passt sich das umgebende Formular nicht an. Das führt dazu, dass einige Controls gar nicht mehr zu sehen sind und unsere Applikation dadurch unbrauchbar wird.

Wer weiß, wie wir es hinbekommen, dass die Formulare automatisch größer werden, wenn die Controls mehr Platz beanspruchen?


der organist - Di 18.11.08 19:57

Ich habe zwar keine Ahnung, was Controls sind (oder ist das einfach eine Zusammenfassung von allen Komponenten etc ?). Für Labels aber kenne ich den Weg: Es gibt eine Funktion, die die reale Länge des Strings (nicht die Anzahl der Buchstaben) ausgibt. Ich hoffe doch, dass es eine ähnliche Funktion für Controls gibt (was auch immer das war). Damit ließe sich einfach überprüfen, wie lang die Controls sind, und ob sie über den Rand der Form hinausgehen.

MfG,


Delete - Di 18.11.08 20:31

AFAIR ist TForm.ScaleBy() Dein Freund. Allerdings skaliert das nur die Formulargröße, für eine evtl. Neuausrichtung der Controls musst Du noch selbst sorgen.