#lazarus #freepascal
Вопрос:
Внутри Lazarus значения шрифта по умолчанию для Form1 следующие:
Form1.Font.Name=по умолчанию
Form1.Шрифт.Размер=0
Как мне узнать, каково фактическое «реальное» имя шрифта и размер шрифта для этих значений по умолчанию?
Ответ №1:
Этот код, похоже, работает:
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, который я нашел как первое попадание, возвращенное этим запросом Google
имя шрифта по умолчанию site:freepascal.org
Комментарии:
1. Я использовал TFontData. Высота и обнаружил, что она была -12. Имя по умолчанию на моей машине было «Segeo UI».