This documentation is archived and is not being maintained.

Visual Basic Reference

Visual Studio 6.0

ScaleMode Property

See Also    Example    Applies To

Returns or sets a value indicating the unit of measurement for coordinates of an object when using graphics methods or when positioning controls.


object.ScaleMode [= value]

The ScaleMode property syntax has these parts:

Part Description
Object An object expression that evaluates to an object in the Applies To list.
Value An integer specifying the unit of measurement, as described in Settings.


The settings for value are:

Constant Setting Description
vbUser 0 Indicates that one or more of the ScaleHeight, ScaleWidth, ScaleLeft, and ScaleTop properties are set to custom values.
vbTwips 1 (Default) Twip (1440 twips per logical inch; 567 twips per logical centimeter).
vbPoints 2 Point (72 points per logical inch).
vbPixels 3 Pixel (smallest unit of monitor or printer resolution).
vbCharacters 4 Character (horizontal = 120 twips per unit; vertical = 240 twips per unit).
vbInches 5 Inch.
vbMillimeters 6 Millimeter.
vbCentimeters 7 Centimeter.
vbHimetric 8 HiMetric
vbContainerPosition 9 Units used by the control's container to determine the control's position.
vbContainerSize 10 Units used by the control's container to determine the control's size.


Using the related ScaleHeight, ScaleWidth, ScaleLeft, and ScaleTop properties, you can create a custom coordinate system with both positive and negative coordinates. These four Scale properties interact with the ScaleMode property in the following ways:

  • Setting the value of any other Scale property to any value automatically sets ScaleMode to 0. A ScaleMode of 0 is user-defined.

  • Setting the ScaleMode property to a number greater than 0 changes ScaleHeight and ScaleWidth to the new unit of measurement and sets ScaleLeft and ScaleTop to 0. The CurrentX and CurrentY property settings change to reflect the new coordinates of the current point.