首页 > 解决方案 > 在 Lazarus 中,我如何找到 Form1 上使用的“真实”字体值?

问题描述

在 Lazarus 内部,Form1 的默认字体值为:
Form1.Font.Name= default
Form1.Font.Size= 0

如何找到这些默认值的实际“真实”字体名称和字体大小?

在此处输入图像描述

标签: lazarusfreepascal

解决方案


这段代码似乎工作:

procedure TForm1.GetFormFontName;
var
  S : String;
begin
  S := GetFontData(Self.Font.Handle).Name;
  Caption := S;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  GetFormFontName;
end;

GetFontData返回一个 TFontData 记录

 TFontData = record
    Handle: HFont;
    Height: Integer;
    Pitch: TFontPitch;
    Style: TFontStylesBase;
    CharSet: TFontCharSet;
    Quality: TFontQuality;
    Name: TFontDataName;
    Orientation: Integer;
  end;  

这不包括字体的Size,这是字体的显式发布属性。

上面的代码来自这个线程:https ://forum.lazarus.freepascal.org/index.php?topic=16697.0 ,我发现这是这个谷歌查询返回的第一个命中

字体名称默认站点:freepascal.org


推荐阅读