设置字体特征

显示文本(作为文本或标题)的窗体、控件,以及支持 Font 属性的 Printer 对象,它们将确定文本的可视特征,包括:

有关 Printer 对象的详细信息,请参阅本章后面的“从应用程序中打印”。

设置字体属性

在设计时,通过双击“属性”窗口中的“字体”,可以任意设置字体属性,然后在“字体”对话框中可进行属性的设定。

在运行时,通过设置各个窗体和控件的 Font 对象的属性,可以设定字体的特征。下表说明了 Font 对象的一些属性。

属性 类型 描述
Name String 指定字体的名字,例如 Arial 或 Courier。
Size Single 用磅为单位来指定字体的大小(在打印时每英寸 72 磅)。
Bold Boolean 如果为 Ture,文本为黑体。
Italic Boolean 如果为 Ture,文本为斜体。
StrikeThrough Boolean 如果为 Ture,在文本中画一条删除线。
Underline Boolean 如果为 Ture,在文本中添加下划线。
Weight Integer 返回或设置字体的粗细。确定以上的粗细,Bold 属性将被强制为 Ture。

例如,下列语句是给名称为 lblYearToDate 的标签设置各种字体属性:

With lblYearToDate.Font
   .Name = "Arial"         '把字体改为 Arial.Bold = True            '把字体改为 boldEnd With

选择字体属性的顺序是很重要的,因为并不是所有的字体都支持所有字体的变动。首先应设置 Name 属性。然后设置任何一个 Boolean 属性,如 Bold 和 Italic 属性,为 True 或为 False。

也可以在 Font 对象中存储一组字体属性。使用 StdFont 类,象其它任何对象一样,可以声明 Font 对象:

Dim MyFont As New StdFont
With MyFont
   .Name = "Arial"
   .Size = 10
   .Bold = True
End With

注意 在创建新的 Font 对象之前,必须使用“引用”对话框(可从“工程”菜单中取得),先创建一个对标准 OLE 类型的引用。

通过将窗体或控件的 Font 对象设置为新的对象,能够容易地从一组字体属性切换到另一组:

Set lblYearToDate.Font = MyFont

详细信息 请参阅《语言参考》的“Font 对象”。

使用小字体

某些字体不允许小于 8 磅。对于这样的字体,如果将它们的 Size 属性设置为小于 8 磅的尺寸,那么无论是 Name 属性还是 Size 属性,都会自动变为其它字体或其它尺寸。为了避免不是预期的结果,每次设置字体尺寸小于 8 磅的 Size 属性时,在设置好以后,一定要再检查一次 Name 属性和 Size 属性。

把 Font 属性应用到特定的对象

设置字体属性产生的效果随着显示文本技术的不同而不同。如果文本是由一个属性指定(例如 Text 或 Caption),则一个字体属性的改变将适用于此控件的所有文本。标签、文本框、框架、按钮、复选框和所有文件系统的控件,都是用一个属性来指定文本的。

如果应用程序使用 Print 方法显示文本,则字体属性的改变,对属性改变之后使用 Print 的所有文本都有影响。而对属性改变之前所打印的文本,没有影响。只有窗体、图片框以及 Debug 和 Printer 对象支持 Print 方法。

因为字体属性的改变适用于文本框和标签中的所有文本,所以在这些控件中不能使用混合字体。如果需要使用混合字体(例如,使一些词用黑体,而其它的用正常字体)时,则应创建图片框,使用 Print 方法来显示文本。“在窗体和图片框上显示文本”中说明了 Print 方法的使用问题。

FontTransparent 属性

窗体和图片框具有另一个字体属性,即 FontTransparent。当 FontTransparent 为 True 时,背景将透过显示在窗体或图片框上的文本而显示出来。图 12.1 显示出了 FontTransparent 属性的效果。

图 12.1 FontTransparent 属性的使用效果