我如何知道TFont名称是否真正受到支持?

时间:2017-09-20 20:04:40

标签: delphi c++builder vcl

当我将TFont控件的Name TRichEdit属性设置为“Courier”时,字体会更改为Courier。

Edit->Font->Name  = "Courier";

如果我想使用我不确定系统支持的字体(例如在较旧的操作系统上),该怎么办? 据我所知,如果我将一个'未知'名称分配给TFont属性,实际字体不会改变,系统会处理它并坚持使用以前的字体,但我怎样才能以编程方式检查这个?

我想知道字体是否真的改变了(因为字体可用/已安装)?

或者我是否需要查询Screen->字体以查明名称是否在列表中?

仅供参考:使用Borland C ++ Builder(2009),但我确信与Delphi相关。

1 个答案:

答案 0 :(得分:9)

TScreen::Fonts表示TStrings列表,其中包含系统中安装的字体名称(实际名称而不是文件名)。

使用其IndexOf()方法测试您的字体是否存在:

if (Screen->Fonts->IndexOf("Courier") != -1)
{
    ShowMessage("Font installed");
}