ScaleWidth 屬性

此頁(yè)沒(méi)有內(nèi)容條目
內(nèi)容

expandtri全部顯示

在打印或預(yù)覽報(bào)表,或者將報(bào)表的輸出保存為文件時(shí),如果使用 Circle、Line、PsetPrint 方法,則可以使用 ScaleWidth 屬性來(lái)指定頁(yè)面的水平度量單位數(shù)。Single 型,可讀寫(xiě)。

expression.ScaleWidth

expression     必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。

說(shuō)明

默認(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)的 ScaleLeftScaleTop 屬性,可以建立一個(gè)有正、負(fù)坐標(biāo)值的自定義坐標(biāo)系統(tǒng)。共有四個(gè)這樣的“刻度”屬性,它們采用以下方法與 ScaleMode 屬性交互作用:

?只要為任何其他“刻度”屬性設(shè)置了值,ScaleMode 屬性就自動(dòng)設(shè)為 0。

 

?只要 ScaleMode 屬性設(shè)置大于 0,ScaleHeightScaleWidth 屬性就會(huì)改為新的度量單位,并且 ScaleLeftScaleTop 屬性會(huì)跟著設(shè)為 0。同時(shí),CurrentXCurrentY 屬性設(shè)置也會(huì)更改,以反映當(dāng)前點(diǎn)的新坐標(biāo)。

也可以在一個(gè)語(yǔ)句中使用 Scale 方法對(duì) ScaleHeight、ScaleWidth、ScaleLeftScaleTop 屬性進(jìn)行設(shè)置。

注釋 ScaleWidth 屬性與 Width 屬性不同。

示例

以下示例使用 Print 方法在名為 Report1 的報(bào)表上顯示文本。它使用 TextWidthTextHeight 方法,使文本在垂直和水平方向上居中放置。

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