Visual Basic 図解 基礎解説 |
この説明は VB6 に関するものです。VB.NET以降のものにはあてはまりません。
概要・ScaleTop, ScaleLeft, ScaleHeight, ScaleWidth を ここでは「Scale系のプロパティ」と呼びます。 ・Scale系のプロパティは仮の画面の位置・大きさに関する設定です。 ・VBでグラフィックスを出力する命令をしたときは、仮の画面に出力された後で、仮の画面から実際の画面に写されます。(※この説明は初級者用の比喩です。) |
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
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のグラフィックスメソッドは次の通りです。
Circle、Cls、Line、PaintPicture、Point、Print、PSet