Form skalieren

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
BerLin
Beiträge: 50
Registriert: So 17. Jun 2007, 16:51

Form skalieren

Beitrag von BerLin »

Hallo Leute,

ich suche eine einfache Lösung um eine Form von 800 x 640 auf max. Größe zu skalieren. Auf der Form sind ca. 40 Elemente, die sich der neuen Größe anpassen sollen. Meine Versuche mit Anchors und Boarderspacing sind gescheitert. Vielleicht mache ich da auch etwas grundsätzlich falsch.

Düster erinnere ich mich, daß esbei Delphi einen Skalefaktor gab.

Ich hoffe ihr könnt mir weiter helfen
BerLin

PS: im Forum habe ich bereits erfolglos gesucht

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Beitrag von Socke »

Hallo,
skalieren mit Anchors ist mehr oder weniger das einfachste, was es dazu von Haus aus gibt. Wenn du dir sicher bist, dass du bei den Anchors/Borderspacing alles richtig gemacht hast (ich hatte bisher damit keine Probleme), könntest du dir mal TWinControl.ChildSizing angucken (gibts dadurch bei allem was man braucht: Forms, Panels...)

einem Skalefaktor bin ich in Delphi (7, was anderes hatte ich nie installiert) nicht über den Weg gelaufen...

MfG Die Socke
P.S: willst du einfach nur dir Controls an die größe des Formulars anpassen oder auch den gesammten Inhalt (Schrift, Bilder)? für sowas gibts wohl noch TForm.PixelsPerInch. da weiß ich aber nicht wie genau das funktioniert oder wie man das benutzen muss/kann. Bilder müssen wahrscheinlich manuell vergrößert/verkleinert werden (resize/resample)

Edit: ein paar Links (leider nur in Englisch):
Lazarus-CCR:
TControlChildSizing
Lazarus-Wiki:
LCL AutoSizing
LCL Internals - Resizing, Moving
Autosize / Layout

Antworten