Scale Method

Applies To   Report object.

Description

The Scale method defines the coordinate system for a Report object.

Syntax

object.Scale[(x1, y1) (x2, y2)]

You can use this method only in an event procedure or a macro specified by the OnPrint or OnFormat event property for a report section, or the OnPage event property for a report.

The Scale method has the following arguments.

Argument

Description

object

The Report object to which the coordinate system is applied.

x1, y1

Single values for the horizontal and vertical coordinates that define the position of the upper-left corner of the object.

x2, y2

Single values for the horizontal and vertical coordinates that define the position of the lower-right corner of the object.


Remarks   You can use the Scale method to reset the coordinate system to any scale you choose. Using the Scale method with no arguments resets the coordinate system to twips. The Scale method affects the coordinate system for the Print method and the report graphics methods, which include the Circle, Line, and PSet methods.

See Also   Circle method, Event properties, Line method, Print method, PSet method, ScaleHeight, ScaleWidth properties, ScaleLeft, ScaleTop properties, ScaleMode property.

Example

The following example draws a circle with one scale, then uses the Scale method to change the scale and draw another circle with the new scale.

Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
    DrawCircle
End Sub

Sub DrawCircle()
    Dim sngHCtr As Single, sngVCtr As Single
    Dim sngNewH As Single, sngNewV As Single
    Dim sngRadius As Single

    Me.ScaleMode = 3                     ' Set scale to pixels.
    sngHCtr = Me.ScaleWidth / 2     ' Horizontal center.
    sngVCtr = Me.ScaleHeight / 2     ' Vertical center.
    sngRadius = Me.ScaleHeight / 3     ' Circle radius.
    ' Draw circle.
    Me.Circle (sngHCtr, sngVCtr), sngRadius
    ' New horizontal scale.
    sngNewH = Me.ScaleWidth * 0.9
    ' New vertical scale.
    sngNewV = Me.ScaleHeight * 0.9
    ' Change to new scale.
    Me.Scale(0, 0)-(sngNewH, sngNewV)
    ' Draw circle.
    Me.Circle (sngHCtr + 100, sngVCtr), sngRadius, RGB(0, 256, 0)
End Sub