Steps to reproduce:
- Set the main monitor's scale factor to 150% and the secondary monitor's scale factor to 100%
- Run the attached project on the main monitor
Expected results:
Button captions are scaled according to the current monitor's DPI:
Current results:
Button captions are not scaled:
Additional information:
IDEs prior to RAD Studio 12 Athens may not handle ParentFont correctly for all cases, so a possible fix will not be applicable for these IDEs.
Workaround
Replace the TdxCustomRibbonForm.ScaleForPPI
procedure implementation (dxRibbonForm.pas) with the following code:
Delphiprocedure TdxCustomRibbonForm.ScaleForPPI(ATargetDPI: Integer; AWindowRect: PRect = nil);
begin
if ParentFont or not (csLoading in ComponentState) then
inherited;
end;