用以下的一种或两种方法,指定绘图坐标,就可以控制 Print 输出的位置:
对象中用 Print 和图形方法创建出的所有文本和图形,都可以用 Cls 方法来删除。同时,Cls 方法还把绘图坐标恢复到原点(0,0),按照缺省规定,原点是左上角。例如,这些语句将清除:
Picture1.Cls
Cls
可以直接用 CurrentX 和 CurrentY 属性来设置窗体和图片框的绘图坐标。例如,这些语句把 Picture1 和当前窗体的绘图坐标恢复到左上角:
Picture1.CurrentX = 0
Picture1.CurrentY = 0
CurrentX = 0
CurrentY = 0
若该处已有文本和图形,则所打印的任何新文本将显示在它们的顶部。为了有选择地清除文本,应使用 Line 方法画一个框,然后用背景色对它填充。要注意的是,绘图坐标是由 CurrentX 和 CurrentY 指定的,当使用图形方法后,它通常会改变位置。
在缺省情况下,窗体和图片框使用每一单位对应一个缇的坐标系统(每英寸为 1,440 缇,近似地,每厘米为 567 缇)。因为文本的高度是用磅来度量的,有时需要把窗体、图片框和 Printer 对象的 ScaleMode 属性从缇改为磅。对文本和要把文本打印其上的对象使用同一单位,使得对文本打印到位置的计算简单些。
详细信息 有关缇和绘图坐标的详细信息,请参阅本章后面的“坐标系统概述”。
在使用 Print 方法之前,可使用 TextHeight 和 TextWidth 方法确定 CurrentX 和 CurrentY 属性所指定的位置。TextHeight 所返回的文本行的高度,考虑了该对象的字体大小和风格。它的语法是:
[object.]TextHeight(string)
如果 string 参数包含嵌入的回车符 (Chr(13)),则文本对应于多行,TextHeight 属性将返回字符串中所有行的文本的高度。如果没有嵌入的回车符,TextHeight 将返回一行文本的高度。
TextHeight 的使用方法是,把 CurrentY 属性设置到特定的行。例如,下述语句将绘图坐标设置到第五行的开始:
CurrentY = TextHeight("sample") * 4
CurrentX = 0
假设示例文本中没有回车符,用以下语法可将 CurrentY 设置到第 n 行:
CurrentY = [object.]TextHeight(string) * (n – 1)
如果 object 被省略了,该方法将应用于当前窗体。object 参数可为窗体、图片框或 Printer 对象。
TextWidth 方法所返回的字符串宽度,考虑了该对象的字体大小和风格。因为许多字体具有均衡宽度的字符,本方法将会很有用。TextWidth 属性可用于确定字符串的宽度是否比窗体、图片框或 Printer 对象的宽度更大。
例如,以下语句通过 CurrentX 和 CurrentY 定位,用 TextWidth 和 TextHeight 把文本确定在方框的中心。此示例中该方框的名字是 MealCard。
CurrentX = (BoxWidth - TextWidth("MealCard")) / 2
CurrentY = (Boxheight - TextHeight("MealCard")) / 2
详细信息 请参阅《语言参考》的“TextHeight 方法”和“TextWidth 方法”。