TForm.ScaleBy und das Popup-Menü skalieren

Rund um die LCL und andere Komponenten
Antworten
MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

TForm.ScaleBy und das Popup-Menü skalieren

Beitrag von MmVisual »

Hallo,

Seit nicht all zu langer Zeit gibt es für ein Formular die ScaleBy Funktion. Mit den immer höher auflösenden Monitoren wird dieses Feature immer mehr gebraucht. Es klappt auch sehr gut.
Nur muss ich noch die Bilder der TImageList noch manuell hoch scalieren, das habe ich soweit gut hin bekommen.
Doch das Popup-Menü bereitet mir Schwierigkeiten, dieses Menü hat keine Möglichkeit der Skalierung, zumindest habe ich keine gefunden. Eigentlich sollte das Popup Menü die Scalierung der TForm übernehmen.
Hier ein Bild wird die TForm aussieht nach einer Skalierung ScaleBy(150, 100); (=150%)

Gibt es eine Möglichkeit das zu ändern, dass das Popup Menü ebenfalls mit skaliert wird? Ich habe sehr viele Popup Menüs auf dem Formular, und einige erstelle ich sogar auch dynamisch beim Start der EXE.
Bild1.png
Bild1.png (26.13 KiB) 528 mal betrachtet
Vielen Dank für die Hilfe, VG Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
Ally
Beiträge: 283
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: TForm.ScaleBy und das Popup-Menü skalieren

Beitrag von Ally »

Hallo Markus,

ich glaube du macht dir zu viel Arbeit.
Lazarus kann HighDPI schon seit geraumer Zeit.

Schau dir mal den Artikel https://wiki.lazarus.freepascal.org/High_DPI an.

Ergänzend habe ich noch ein kleines Beispiel angehängt.

Gruß
Roland
Dateianhänge
HighDpi.zip
(32.01 KiB) 45-mal heruntergeladen

MmVisual
Beiträge: 1581
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
CPU-Target: 32/64Bit

Re: TForm.ScaleBy und das Popup-Menü skalieren

Beitrag von MmVisual »

Das ist was anderes, bzw. ich meinte was anderes.

Du beziehst dich auf die höhere DPI Einstellung vom Betriebssystem - dazu braucht man ja auch nichts unternehmen, das ist bereits schon in Lazarus integriert und funktioniert auch.

Zusätzlich jedoch wollen Anwender dennoch eine noch größere Darstellung der EXE, also nochmals ein paar % alles größer haben, das kann man dann extra mit "ScaleBy" einstellen.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
Ally
Beiträge: 283
Registriert: Do 11. Jun 2009, 09:25
OS, Lazarus, FPC: Win und Lazarus Stable release
CPU-Target: x64

Re: TForm.ScaleBy und das Popup-Menü skalieren

Beitrag von Ally »

Ok, dann habe ich das falsch verstanden. :)
Zusätzlich jedoch wollen Anwender dennoch eine noch größere Darstellung
Dann wäre doch, zumindest unter Windows, Einstellungen - System - Bildschirm - Skalieren und Layout - Scalierung für den Anwender das Sinnvollste.

Antworten