如何在设计时设置应用程序字体?

问题描述 投票:5回答:1

我已经读到,最集中的have font-consistency through a project方式是使所有具有ParentFont属性的控件都处于活动状态,并在运行时设置Application.DefaultFont

我想在设计时在整个应用程序中使用其他字体,例如'Segoe UI'

如何在设计时进行更改?

delphi delphi-xe7
1个回答
0
投票

您有很多选择,最适合您的选择可能取决于您的情况。

如果您使用自己的表单(不是从包或库中获取的),则可以将每个表单设计为从父级继承,以按照注释中的建议为您提供起始字体。但是,IDE将允许对此进行更改,并且如果表单的DFM文件在派生表单中记录了字体,即使父类字体已更改,它也会使用该字体。

另一种方法是编写一个非可视组件,您可以将其放置在表单上。当该组件具有它的所有者集(在创建时)时,它可以检查它是否归Form拥有,并在父级上设置字体。以相同的方式,它可以设置所需的任何属性,还可以找到其所有者的子级,也可以在这些控件上设置任何属性。

从此继续,您可以在运行时查看TScreen类,该类包含名为CustomForms和Forms的属性,这些属性使您可以分别访问TCustomForm和TForm的所有当前活动后代。当您可以访问它时,可以在运行时更改所有字体的字体。因此,如果允许用户选择字体,则可以使用Screen对象在所有表单上更改字体。

两者的结合可以让您轻松控制显示属性。

[请注意,更改字体样式可以更改呈现的文本的大小。 (当然会改变字体的大小和样式)。这可能会影响控件的外观和对齐方式。

© www.soinside.com 2019 - 2024. All rights reserved.