-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HighDPI problem: size of controls do not resize correctly when ... #14
Comments
Could you please post a picture showing this issue? |
Ok I can see what happens... the dialog controls keep their size in pixels when moving from the 150% monitor to the 100% monitor, while the dialog window itself is shrinked. |
Yes, when resized the buttons keep the same size. |
Obviously the library does not cope with different DPI settings. I am not sure if there could be a simple fix, like working with "logical" vs "physical" pixels and just call unit conversion functions over window coordinates/size. |
There are new functions like GetDpiForWindow, GetDpiForSystem, AdjustWindowRectExForDpi, GetDialogControlDpiChangeBehavior, GetDpiFromDpiAwarenessContext, LogicalToPhysicalPointForPerMonitorDPI, PhysicalToLogicalPointForPerMonitorDPI a.s.o. as described here: https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows |
It might be possible to support the new API, but I don't have Windows 10 on my main dev PC, so don't expect this change to come any time soon. :-( |
According to docs, MFC supports only DPI System-awareness level. |
moving the dialog (resizablelib\ResizableDialog) demo application (e.g. dialog New features or Test Dialog) from a monitor (main) with 150% scaling to a monitor (secondary) with 100% scaling and the demo application has "Per Monitor High DPI Aware V2" enabled.
The application is started from 150% monitor.
The text was updated successfully, but these errors were encountered: