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 |
|
1 – vbArrow |
|
2 – vbCrossHair |
|
3 – vbIBeam |
|
4 – vbIconPointer |
互換性のために残されています — Default で置き換えられています。 |
5 – vbSizePointer |
|
6 – vbSizeNESW |
|
7 – vbSizeNS |
|
8 – vbSizeNWSE |
|
9 – vbSizeWE |
|
10 – vbUpArrow |
|
11 – vbHourGlass |
|
12 – vbNoDrop |
|
13 – vbArrowHourGlass |
|
14 – vbArrowQuestion |
|
15 – vbSizeAll |
|
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 定数に設定している場合は、アップグレード中に既定のカーソルに置き換えられます。