I have a TMainMenu hosted on a TToolBar on my form.
In my application's .dpr file (before anything else, especially before the TMainMenu is created), I call Screen.MenuFont to set a custom font.
Initially, everything works perfectly — the menu displays using my custom font.
However, when I change the monitor's DPI scaling while the application is running, I notice that the MainMenu font resets back to the default system font.
I tried handling the OnAfterMonitorDpiChanged event by unhosting the TMainMenu from the TToolBar, resetting Screen.MenuFont to my custom settings again, and then rehosting the menu — but it doesn't seem to have any effect.
How can I correctly reapply my custom MenuFont when the monitor DPI changes during runtime?