MousePointer (Visual Basic 6.0 ユーザー向け)

更新 : 2007 年 11 月

Visual Basic 2008 では、Visual Basic 6.0 の MousePointer プロパティは Cursor プロパティに置き換えられ、MousePointer 定数の名前も変更されています。

概念の違い

Visual Basic 6.0 では、フォームまたはコントロールの MousePointer プロパティを使って、マウスのカーソルがフォームまたはコントロールの上を通過するときに外観を変更します。

Visual Basic 2008 では、Cursor プロパティが MousePointer と同じ機能を提供します。

カスタムの MousePointer

Visual Basic 6.0 では、アイコン (.ico) ファイルまたはカーソル (.cur) ファイルをカスタムの MousePointer として使用できます。

Visual Basic 2008 では、カーソル ファイルだけがサポートされています。実行時にカスタムのカーソルを設定するには、カーソル ファイルを Cursor プロパティに割り当てます。

vbIconPointer 定数

Visual Basic 6.0 には、カーソルをアイコンのシンボル (正方形に囲まれた小さい正方形) に変更するための MousePointer 定数 vbIconPointer があります。この定数は、レガシとして使用する目的でのみ用意されています。新しいオペレーティング システムでは、この定数は効力を持たず、既定のカーソルが表示されます。Visual Basic 2008 には、これに相当するものはありません。

MousePointer プロパティを扱うコードの変更

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

カーソルの外観の変更

次のコード例は、実行時にマウスのカーソルがテキスト ボックス コントロールの上を通過したときに、カーソルの外観を既定の矢印カーソルから砂時計カーソルに変更する方法を示しています。Visual Basic 6.0 のコード例では、MousePointer プロパティを設定します。Visual Basic 2008 のコード例では、Cursor プロパティが MousePointer に相当します。Visual Basic 2008 のコード例では、新しい MouseEnter イベントも使用します。

' Visual Basic 6.0
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
    Text1.MousePointer = vbHourGlass
End Sub
' Visual Basic
Private Sub TextBox1_MouseEnter(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles TextBox1.MouseEnter
    TextBox1.Cursor = System.Windows.Forms.Cursors.WaitCursor
End Sub

カスタムのカーソルの表示

次のコード例では、カーソルがテキスト ボックス コントロールの上を通過したときに、手の形のカーソルを表示する方法を示しています。Visual Basic 6.0 のコード例では、MouseIcon プロパティと MousePointer プロパティを設定します。Visual Basic 2005 のコード例では、Cursor プロパティを Cursor オブジェクトの新しいインスタンスに設定します。

' Visual Basic 6.0
Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, _
X As Single, Y As Single)
    Text1.MouseIcon = LoadPicture("C:\Windows\Cursors\hmove.cur")
    Text1.MousePointer = vbHourGlass
End Sub
' Visual Basic
Private Sub TextBox2_MouseEnter(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles TextBox2.MouseEnter
    TextBox2.Cursor = New System.Windows.Forms.Cursor _
    ("C:\mypath\mycursor.cur")
End Sub

MousePointer 定数の対応表

次の表は、Visual Basic 6.0 の定数と、Visual Basic 2008 でそれらに対応するものを示しています。

Visual Basic 6.0

Visual Basic 2008 で対応するもの

0 – vbDefault

Default

1 – vbArrow

Arrow

2 – vbCrossHair

Cross

3 – vbIBeam

IBeam

4 – vbIconPointer

互換性のために残されています — Default で置き換えられています。

5 – vbSizePointer

SizeAll

6 – vbSizeNESW

SizeNESW

7 – vbSizeNS

SizeNS

8 – vbSizeNWSE

SizeNWSE

9 – vbSizeWE

SizeWE

10 – vbUpArrow

UpArrow

11 – vbHourGlass

WaitCursor

12 – vbNoDrop

No

13 – vbArrowHourGlass

AppStarting

14 – vbArrowQuestion

Help

15 – vbSizeAll

SizeAll

99 – vbCustom

対応要素なし — 詳細については、「カスタム MousePointer を設定できない」を参照してください。

アップグレード メモ

Visual Basic 6.0 アプリケーションを Visual Basic 2008 にアップグレードすると、MousePointer プロパティは Cursor プロパティに置き換えられます。MousePointer 定数を使用するコードは、Visual Basic 2008 の Cursors 列挙を使用するように変更されます。

Visual Basic 6.0 アプリケーションでカスタムの MousePointer を使用している場合は、デザイン時の設定またはカスタムの MousePointer コードはアップグレードされず、警告が発行されます。

また、Visual Basic 6.0 アプリケーションでデザイン時または実行時に MousePointer を vbIconPointer 定数に設定している場合は、アップグレード中に既定のカーソルに置き換えられます。

参照

参照

カスタム MousePointer を設定できない

その他の技術情報

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

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