Fensterinhalt zoomen

Rund um die LCL und andere Komponenten
Antworten
Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 359
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Fensterinhalt zoomen

Beitrag von Jorg3000 »

Hallo!
Ich möchte alle Inhalte eines TForm zur Laufzeit flexibel zoomen, so wie man es z.B. von Browsern her kennt.
Ich habe mir erträumt, dass ich lediglich die DPI des TForm zur Laufzeit ändern bräuchte und alles wäre schick.

Habe vorhin mal versucht .DesignTimePPI zur Laufzeit zu ändern und .ScaleControls() aufgerufen. Das hat aber keinen Erfolg gebracht.
Wie macht man's richtig?

Grüße, Jörg

Soner
Beiträge: 724
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Fensterinhalt zoomen

Beitrag von Soner »

Vor der Aufgabe stand ich auch:
https://lazarusforum.de/viewtopic.php?t=13712

Reine LCL-Controls kann man mit font.size usw. vergrößern, Windows Controls wie TEdit nicht..
Da ich hauptsächlich mit Stringgröße arbeitete war es okay für mich

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 359
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Fensterinhalt zoomen

Beitrag von Jorg3000 »

Danke!

Auf Graphics.ScreenInfo.PixelsPerInchX wäre ich nicht gekommen.

Allerdings sieht damit einiges merkwürdig aus, wenn ich daran rummanipuliere. Da müsste man wohl manuell immer nacharbeiten, um es als Zoom verwenden zu können.

Bisher nutze ich ebenfalls eine Lösung per Font.Size, die halbwegs gut funktioniert, aber das beeinflusst halt nicht z.B. eine Rahmendicke von Komponenten etc., was für einen echten Zoom schön wäre.

Antworten