显示文本(作为文本或标题)的窗体、控件,以及支持 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 '
把字体改为bold
。End 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 属性。
设置字体属性产生的效果随着显示文本技术的不同而不同。如果文本是由一个属性指定(例如 Text 或 Caption),则一个字体属性的改变将适用于此控件的所有文本。标签、文本框、框架、按钮、复选框和所有文件系统的控件,都是用一个属性来指定文本的。
如果应用程序使用 Print 方法显示文本,则字体属性的改变,对属性改变之后使用 Print 的所有文本都有影响。而对属性改变之前所打印的文本,没有影响。只有窗体、图片框以及 Debug 和 Printer 对象支持 Print 方法。
因为字体属性的改变适用于文本框和标签中的所有文本,所以在这些控件中不能使用混合字体。如果需要使用混合字体(例如,使一些词用黑体,而其它的用正常字体)时,则应创建图片框,使用 Print 方法来显示文本。“在窗体和图片框上显示文本”中说明了 Print 方法的使用问题。
窗体和图片框具有另一个字体属性,即 FontTransparent。当 FontTransparent 为 True 时,背景将透过显示在窗体或图片框上的文本而显示出来。图 12.1 显示出了 FontTransparent 属性的效果。
图 12.1 FontTransparent 属性的使用效果