I submitted a bug (RSP-30892) to Embarcadero over 1.5 years ago (since Rad Studio 10.4) regarding the following issue:
TCheckBox is scaling when it shouldn't when Windows 10 is set to 150% scaling. The form property is set to Scaled=false, the checkbox still scales 150%. Other controls conform to the form property.
While I have patiently waited for a fix on their end, it has yet to occur. I have tried to override the PixelsPerInch property of the control, but it is ignored.
The big question: Has anyone had any success with a work around, or, a way to override this behavior?
In case it is needed, here is how to reproduce:
- Create VCL C++ Forms project.
- Set form's "Scaled" property to false.
- Add a TCheckBox to the form.
- Apply a style to the application in the project options (like Windows 10 Dark).
- Under project options->Packages, turn off dynamic RTL in linker. Turn off runtime packages.
- Under project options->Application, Manifest, check Enable Runtime Themes and set DPI awareness to Per Monitor v2.
- Run on a Windows with scaling set to 150%.
There is another bug report according to which this works as designed: https://quality.embarcadero.com/browse/RSP-24216
Scaled
only affects the font size, not the boxes. To fully prevent scaling you must set DPI awareness to "None" in Options -> Application -> Manifest.You have set the DPI awareness to "Per Monitor v2", which will not work.
When I set DPI awareness to "None", the entire form is scaled. So it seems there is intentionally no way to leave the form small.