Jump to content
bravesofts

how to update TMainMenu font After Monitor Dpi Change

Recommended Posts

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?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×