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 常量,则在升级期间该常量将被默认光标取代。