Visual Basic 図解 基礎解説
VB6 対応

 

Visual Basic 中学校 > 図解 基礎解説 >

Scale系プロパティの理解


この説明は VB6 に関するものです。VB.NET以降のものにはあてはまりません。


 

概要

・ScaleTop, ScaleLeft, ScaleHeight, ScaleWidth を ここでは「Scale系のプロパティ」と呼びます。

・Scale系のプロパティは仮の画面の位置・大きさに関する設定です。

・VBでグラフィックスを出力する命令をしたときは、仮の画面に出力された後で、仮の画面から実際の画面に写されます。(※この説明は初級者用の比喩です。)

 

1.標準の状態

ScaleLeft = 0, ScaleTop = 0 の場合、仮の画面と実際の画面は完全に一致します。

下の画像では、青が実際の画面、紫が仮の画面、赤がグラフィックスです。

■画像1:仮の画面と実際の画面が一致する場合(標準の状態)

このときに描画するグラフィックスは仮の画面と実際の画面とで同じ位置に出力されます。

■画像2:実際の画面

Private Sub Form_Load()

    'Picture1に1ドット単位の座標系を適用する。
    Picture1.ScaleMode = vbPixels

End Sub
Private Sub Command1_Click()

    Picture1.Circle (120, 120), 100, vbRed

End Sub

■サンプル1

 

2.ScaleLeft, ScaleTopを変更した状態

 

ScaleLeft = 100, ScaleTop = 100 の場合、実際の画面は、仮の画面より右に100、下に100ずれたところにあることになります。

■画像3:仮の画面と実際の画面がずれている場合 ■画像4:真上から見た図

そのため、このときに描画するグラフィックスは実際の画面では左に100、上に100ずれたところに表示されます。 (グラフィックスはまず仮の画面に出力された後で、実際の画面に写されることに注意してください。※但し、この説明は初級者用の比喩です。)

■画像5:実際の画面に出力されたグラフィックス

Private Sub Form_Load()

    'Picture1に1ドット単位の座標系を適用する。
    Picture1.ScaleMode = vbPixels

End Sub
Private Sub Command2_Click()

    Picture1.ScaleLeft = 100
    Picture1.ScaleTop = 100

    Picture1.Circle (120, 120), 100, vbRed

End Sub

■サンプル2

 

参考

Scale系プロパティの影響下にあるVBのグラフィックスメソッドは次の通りです。

CircleClsLinePaintPicturePointPrintPSet