99% of Delphi applications I have seen, do not support Large Fonts, or support it very badly. There is a Scaled property in TForm, people think it is about to scale the form in case of non-default DPI setting, but it is just not working properly.
Below code scales TForm the correct way:
procedure TForm1.FormCreate(Sender: TObject);
begin
Assert(not Scaled, 'TForm.Scaled property sucks, you should set it to False!');
if Screen.PixelsPerInch <> PixelsPerInch then
begin
ScaleBy(Screen.PixelsPerInch, PixelsPerInch);
end;
end;
Delphi stores design-time DPI of a form in PixelsPerInch property. This code handles scaling correctly even if some forms are designed in 96 DPI, and some forms in 120 DPI.
Comments
Post new comment