Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Windows default Font herausfinden und übernehmen (https://www.delphipraxis.net/214285-windows-default-font-herausfinden-und-uebernehmen.html)

dstein 18. Dez 2023 13:14

Delphi-Version: 5

Windows default Font herausfinden und übernehmen
 
Moin Zusammen,
ich möchte gerne das Windows Standard Font herausfinden und übernehmen.

Mit "ComboBox1.Items := Screen.Fonts;" erhalte ich eine Liste alle Fonts.
Ich brauche keine Liste sondern wie komme ich an das aktive (default) Windows-Font (bsp. Calibri)?

PaPaNi 18. Dez 2023 14:17

AW: Windows default Font herausfinden und übernehmen
 
Moin,

Vielleicht könnte man damit anfangen?
Das hat mir ChatGPT angeboten. Der Code liefert "Segoe UI" als Ergebnis zurück.
Delphi-Quellcode:
var
  nonClientMetrics: TNonClientMetrics;
  ...

  FillChar(nonClientMetrics, SizeOf(TNonClientMetrics), 0);
  nonClientMetrics.cbSize := SizeOf(TNonClientMetrics);
  if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, SizeOf(TNonClientMetrics), @nonClientMetrics, 0) then begin
    WindowsDefaultFontName := nonClientMetrics.lfCaptionFont.lfFaceName;
  end else begin
    WindowsDefaultFontName := 'unknown';
  end;

Uwe Raabe 18. Dez 2023 14:33

AW: Windows default Font herausfinden und übernehmen
 
Die gleiche Information findet man übrigens auch in
Delphi-Quellcode:
Screen.CaptionFont
(natürlich nur solange man den Wert nicht selbst verändert).

rwalper 18. Dez 2023 15:42

AW: Windows default Font herausfinden und übernehmen
 
Ich werfe mal
Delphi-Quellcode:
Application.DefaultFont
ins Rennen

dstein 18. Dez 2023 15:43

AW: Windows default Font herausfinden und übernehmen
 
Hallo ihe Beide,
Danke für die Antwort. Passt :-)

edt_font.Text:=Screen.CaptionFont.Name;
MyRichedit.Font := Screen.CaptionFont;

Und wieder etwas gelernt, Danke.

dstein 18. Dez 2023 15:46

AW: Windows default Font herausfinden und übernehmen
 
"Ich werfe mal Application.DefaultFont ins Rennen "
Gibt den Font der in Delphi eingestelltem Font zurück, bei mir "Tahoma".

Uwe Raabe 18. Dez 2023 15:49

AW: Windows default Font herausfinden und übernehmen
 
Genauer: Gibt das in DefFontData eingestellte zurück (hier aus Delphi 12):
Delphi-Quellcode:
  // New TFont instances are intialized with the values in this structure:
  DefFontData: TFontData = (
    Handle: 0;
    Height: 0;
    Orientation: 0; { No rotation }
    Pitch: fpDefault;
    Style: [];
    Charset : DEFAULT_CHARSET;
    Name: 'Segoe UI');
Allerdings ist das eben auch eine Variable und kann im Programm überschrieben werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz