Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TMainMenu: Änderung der Schriftgröße ändert nicht den Abstand der Einträge (https://www.delphipraxis.net/217372-tmainmenu-aenderung-der-schriftgroesse-aendert-nicht-den-abstand-der-eintraege.html)

jaenicke 21. Jun 2025 13:03

AW: TMainMenu: Änderung der Schriftgröße ändert nicht den Abstand der Einträge
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1549575)
Ist es in der Tat (Delphi 12.3 latest Patches, Windows 10 22H2).

Bei mir ist es Windows 11. Das heißt bei dir wird die Größe der Items direkt korrekt angezeigt, wenn du die Schriftart änderst?!?
Denn wenn dann MeasureItem aufgerufen wird, muss ja die Größe auch stimmen.

Hast du noch irgendetwas anderes im Projekt gemacht?

Bei mir kommt das MeasureItem nach wie vor, egal wo ich es teste, nur einmal beim Start, es sei denn ich nutze einen der gezeigten Tricks.

KHJ 21. Jun 2025 14:00

AW: TMainMenu: Änderung der Schriftgröße ändert nicht den Abstand der Einträge
 
Zitat:

Zitat von jaenicke (Beitrag 1549581)
Zitat:

Zitat von Uwe Raabe (Beitrag 1549575)
Ist es in der Tat (Delphi 12.3 latest Patches, Windows 10 22H2).

Bei mir ist es Windows 11. Das heißt bei dir wird die Größe der Items direkt korrekt angezeigt, wenn du die Schriftart änderst?!?
Denn wenn dann MeasureItem aufgerufen wird, muss ja die Größe auch stimmen.

Hast du noch irgendetwas anderes im Projekt gemacht?

Bei mir kommt das MeasureItem nach wie vor, egal wo ich es teste, nur einmal beim Start, es sei denn ich nutze einen der gezeigten Tricks.

Bei mir ist es die Konstellation wie bei Uwe (12.3 aktueller Patch Status und WIN10 aktuell Stand). Measure Items wird aber nur einmalig aufgerufen.
Mit der Lösung des einmaligen Add/Remove über alle Ebenen kann ich nach einer Fontänderung leben, da dies bei mir nur sehr, sehr selten aufgerufen wird. Die Skalierung aller Elemente funktioniert damit einwandfrei.
Mir ist das nur aufgefallen, da ich von TActionMainMenuBar auf TMainMenu umgestellt habe. TActionMainMenuBar hat leider einen Bug RSS-2675, der bisher von EMBA nicht behoben wurde.

Uwe Raabe 21. Jun 2025 14:24

AW: TMainMenu: Änderung der Schriftgröße ändert nicht den Abstand der Einträge
 
Zitat:

Zitat von KHJ (Beitrag 1549582)
Bei mir kommt das MeasureItem nach wie vor, egal wo ich es teste, nur einmal beim Start, es sei denn ich nutze einen der gezeigten Tricks.

Das ist hier in der Tat auch so. Das Problem scheint mir aber wohl eher die Resistenz der Menüzeilenhöhe zu sein, die sich jedweder Änderung widersetzt. Diese Art von Problemen kommt leider häufig bei nativen Windows Controls oder systemnahen Elementen vor.

Die Breite der Menüeinträge bekommt man schon mit etwas Aufwand hin, aber das reicht dann am Ende halt auch nicht.

KHJ 22. Jun 2025 05:28

AW: TMainMenu: Änderung der Schriftgröße ändert nicht den Abstand der Einträge
 
Einen Einfluss hat auch AutoHotKeys.
Nur in der Einstellung AutoHotKeys := maAutomatic und OwnerDraw := true funktioniert bei mir DrawMenuBar(Handle).


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:16 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz