Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: VCL.Graphics.pas DefFontData initialisierung veraltet

  Alt 10. Mai 2021, 19:24
Hallo Rolf, Du hättest ja hier mal erwähnen können das Du bereits einen QP gemacht hast, auch wenn der etwas von meinem Abweicht.

Diesen Code ruf ich im FormCreate mit Self auf, alle Controls (ParentFont = True) nutzen dann das was das System hergibt solange man die Font nicht selbst eingestellt hat. Auch eine Größenanpassung wird vorgenommen.
Vielleicht hilft Dir das solange um über die Runden zu kommen bis Embarcadero was unternimmt.
Microsoft wird sicherlich nicht den HKEY ändern da die Gefahr besteht das vorhandene/alte Software damit einen defekt erleidet.
Delphi-Quellcode:
procedure ApplyFontAndScale(aForm: TForm);
var
  OldSize : Integer;
  Font : TFont;
begin
  OldSize := aForm.Font.Size;
  if Screen.MessageFont.Size <> OldSize then begin
    Font := TFont.Create;
    try
      Font.Assign(Screen.MessageFont);
      Font.Size := OldSize;
      aForm.Font := Font;
    finally
      Font.Free;
    end;
    aForm.ScaleBy(Abs(Screen.MessageFont.Size), Abs(OldSize));
  end else
    aForm.Font := Screen.MessageFont;

  if aForm.BorderStyle <> bsSizeable then begin
    if aForm.Height > Screen.WorkAreaHeight then
      aForm.ScaleBy(Screen.WorkAreaHeight, aForm.Height);
    if aForm.Width > Screen.WorkAreaWidth then
      aForm.ScaleBy(Screen.WorkAreaWidth, aForm.Width);
  end;
end;
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat