座標系 (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

Visual Basic 2008 では、フォームおよびコントロールの座標は Visual Basic 6.0 とは異なる方法で表現されます。フォームのサイズ変更や移動の方法も異なります。

概念の違い

Visual Basic 6.0 では、フォームとコントロールの座標は twip で表現されます。Visual Basic 2008 では、座標はピクセルで表現されます。

Height プロパティおよび Width プロパティ

Visual Basic 6.0 では、Height プロパティと Width プロパティが、フォームまたはコントロールのサイズ変更に使用されます。Visual Basic 2008 では、Size プロパティを使って、高さと幅を一度に変更することもできます。

Move メソッド

Visual Basic 6.0 では、フォームまたはコントロールの位置を実行時に変更するために Move メソッドを使用します。Visual Basic 2008 では、Move は SetBounds メソッドに置き換えられ、座標はピクセルで表現されます。

ScaleMode プロパティ

Visual Basic 6.0 では、ScaleMode プロパティを使って別の座標系を定義することもできます。Visual Basic 2008 では、サポートされる座標系はピクセルだけです。ScaleMode プロパティおよびそれに関連するプロパティやメソッド (Scale、ScaleHeight、ScaleLeft、ScaleTop、ScaleWidth、ScaleX、ScaleY) は Visual Basic 2008 ではサポートされていません。詳細については、「ScaleMode がサポートされていない」を参照してください。

座標を扱うコードの変更

次のコード例は、Visual Basic 6.0 と Visual Basic 2008 でのコーディング テクニックの違いを示しています。

フォームのサイズ変更

実行時にフォームのサイズを変更する方法の例を次に示します。

' Visual Basic 6.0
' Measurements are in twips.
Me.Width = 8000
Me.Height = 6000
' Visual Basic
' Measurements are in pixels.
Me.Size = New System.Drawing.Size(640, 480)

コントロールの移動

実行時にコントロールを移動する方法の例を次に示します。

' Visual Basic 6.0
' Move and retain original size.
CommandButton2.Move 2000, 1000
' Move and resize to 1200 by 800 twips.
CommandButton1.Move 0, 0, 1200, 800
' Visual Basic
' Move and retain original size.
Button2.SetBounds(20, 10, 0, 0, BoundsSpecified.X Or BoundsSpecified.Y)
' Move and resize to 120 by 80 pixels.
Button1.SetBounds(0, 0, 120, 80)

アップグレード メモ

Visual Basic 6.0 アプリケーションを Visual Basic 2008 にアップグレードすると、フォームおよびコントロールの Height プロパティと Width プロパティの値は自動的にピクセルに変換されます。

元のアプリケーションで ScaleMode プロパティを使用していた場合、アップグレード ツールは、ScaleMode プロパティのデザイン時設定が twip であると仮定します。それ以外の場合は、正しく変換されないため、修正が必要です。詳細については、「ScaleMode がサポートされていない」を参照してください。

参照

概念

Form オブジェクト (Visual Basic 6.0 ユーザー向け)

その他の技術情報

Windows フォーム コントロール (Visual Basic 6.0 ユーザー向け)

コントロールのプロパティ、メソッド、およびイベントの変更点 (Visual Basic 6.0 ユーザー向け)