Skip to content
Permalink
Browse files

Issue #718: Fonts may be too large because they get scaled before the…

… window gets moved to the wanted screen. So, this moves the code for scaling fonts to FormShow, so we can scale fonts according to the screen's DPI setting.
  • Loading branch information...
ansgarbecker committed Jul 18, 2019
1 parent 70c79b3 commit 6a75e8c404dda7bfd1705db1dfa008a9307853db
Showing with 18 additions and 1 deletion.
  1. +18 −1 source/extra_controls.pas
@@ -9,10 +9,14 @@ interface
type
// Form with a sizegrip in the lower right corner, without the need for a statusbar
TExtForm = class(TForm)
private
FFontSet: Boolean;
public
constructor Create(AOwner: TComponent); override;
procedure AddSizeGrip;
class procedure InheritFont(AFont: TFont; Form: TForm);
protected
procedure DoShow; override;
end;
// Memo replacement which accepts any line break format
TLineNormalizingMemo = class(TMemo)
@@ -30,9 +34,22 @@ implementation
constructor TExtForm.Create(AOwner: TComponent);
begin
inherited;
InheritFont(Font, Self);
FFontSet := False;
end;


procedure TExtForm.DoShow;
begin
// Expect the window to be on the wanted monitor now, so we can scale fonts according
// to the screen's DPI setting
if not FFontSet then begin
InheritFont(Font, Self);
FFontSet := True;
end;
inherited;
end;


procedure TExtForm.AddSizeGrip;
var
FGripper: TSizeGripThemed;

0 comments on commit 6a75e8c

Please sign in to comment.
You can’t perform that action at this time.