在打印或預(yù)覽報(bào)表,或者將報(bào)表的輸出保存為文件時(shí),如果使用 Circle、Line、Pset 或 Print 方法,則可以使用 ScaleWidth 屬性來(lái)指定頁(yè)面的水平度量單位數(shù)。Single 型,可讀寫(xiě)。
expression 必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。
默認(rèn)設(shè)置是以緹為單位的報(bào)表頁(yè)面內(nèi)部寬度。
可以使用由節(jié)的 OnPrint 屬性設(shè)置指定的宏或 Visual Basic 事件過(guò)程來(lái)設(shè)置 ScaleWidth 屬性。
使用 ScaleWidth 屬性可以創(chuàng)建一個(gè)繪圖或打印用的自定義坐標(biāo)刻度。例如,語(yǔ)句 ScaleWidth = 100 定義節(jié)的內(nèi)部寬度為 100 個(gè)單位,或者水平坐標(biāo)的單位為寬度的 1/100。
使用 ScaleMode 屬性可以定義一個(gè)基于標(biāo)準(zhǔn)測(cè)量單位的刻度,如磅、像素 、字符、英寸、毫米或厘米。
將 ScaleWidth 屬性設(shè)為正值會(huì)使坐標(biāo)值從左往右增加,將其設(shè)為負(fù)值會(huì)使坐標(biāo)值從右往左增加。
通過(guò)使用這些屬性和相關(guān)的 ScaleLeft 和 ScaleTop 屬性,可以建立一個(gè)有正、負(fù)坐標(biāo)值的自定義坐標(biāo)系統(tǒng)。共有四個(gè)這樣的“刻度”屬性,它們采用以下方法與 ScaleMode 屬性交互作用:
? | 只要為任何其他“刻度”屬性設(shè)置了值,ScaleMode 屬性就自動(dòng)設(shè)為 0。 |
? | 只要 ScaleMode 屬性設(shè)置大于 0,ScaleHeight 和 ScaleWidth 屬性就會(huì)改為新的度量單位,并且 ScaleLeft 和 ScaleTop 屬性會(huì)跟著設(shè)為 0。同時(shí),CurrentX 和 CurrentY 屬性設(shè)置也會(huì)更改,以反映當(dāng)前點(diǎn)的新坐標(biāo)。 |
也可以在一個(gè)語(yǔ)句中使用 Scale 方法對(duì) ScaleHeight、ScaleWidth、ScaleLeft 和 ScaleTop 屬性進(jìn)行設(shè)置。
以下示例使用 Print 方法在名為 Report1 的報(bào)表上顯示文本。它使用 TextWidth 和 TextHeight 方法,使文本在垂直和水平方向上居中放置。
Private Sub Detail_Format(Cancel As Integer, _
FormatCount As Integer)
Dim rpt as Report
Dim strMessage As String
Dim intHorSize As Integer, intVerSize As Integer
Set rpt = Me
strMessage = "DisplayMessage"
With rpt
'Set scale to pixels, and set FontName and
'FontSize properties.
.ScaleMode = 3
.FontName = "Courier"
.FontSize = 24
End With
' Horizontal width.
intHorSize = Rpt.TextWidth(strMessage)
' Vertical height.
intVerSize = Rpt.TextHeight(strMessage)
' Calculate location of text to be displayed.
Rpt.CurrentX = (Rpt.ScaleWidth/2) - (intHorSize/2)
Rpt.CurrentY = (Rpt.ScaleHeight/2) - (intVerSize/2)
' Print text on Report object.
Rpt.Print strMessage
End Sub