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

其他资源

适用于 Visual Basic 6.0 用户的 Windows 窗体控件

控件属性、方法和事件的更改(针对 Visual Basic 6.0 用户)