Export (0) Print
Expand All

MousePointer for Visual Basic 6.0 Users

In Visual Basic 2008, the Visual Basic 6.0 MousePointer property has been replaced by the Cursor property and the names of the MousePointer constants have changed.

In Visual Basic 6.0, the MousePointer property of a form or control is used to change the appearance of the cursor when it passes over that form or control.

In Visual Basic 2008, the Cursor property provides the same functionality as the MousePointer.

Custom MousePointers

In Visual Basic 6.0, you can use any icon (.ico) or cursor (.cur) file as a custom MousePointer.

In Visual Basic 2008, only cursor files are supported; you can set a custom cursor at run time by assigning a cursor file to the Cursor property.

vbIconPointer Constant

Visual Basic 6.0 includes the MousePointer constant vbIconPointer to change the cursor to an icon symbol (a small square within a square). This constant is provided for legacy purposes only; on newer operating systems it has no effect and the default cursor is displayed. There is no equivalent in Visual Basic 2008.

The following examples illustrate the differences in coding techniques between Visual Basic 6.0 and Visual Basic 2008.

Changing the Cursor Appearance

The following code demonstrates how the cursor changes appearance when it passes over a text box control at run time, replacing the default arrow with an hourglass cursor. The Visual Basic 6.0 example sets the MousePointer property; in the Visual Basic 2008 example, the Cursor property is the equivalent of MousePointer. The Visual Basic 2008 example also uses the new MouseEnter event.

' 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


Displaying a Custom Cursor

The following code demonstrates the display of a hand cursor when the cursor passes over a text box control. The Visual Basic 6.0 example sets both the MouseIcon and MousePointer properties; the Visual Basic 2005 example sets the Cursor property to a new instance of a Cursor object.

' 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


The following table lists Visual Basic 6.0 constants and their Visual Basic 2008 equivalents.

Visual Basic 6.0

Visual Basic 2008 Equivalent

0 – vbDefault

Default

1 – vbArrow

Arrow

2 – vbCrossHair

Cross

3 – vbIBeam

IBeam

4 – vbIconPointer

Obsolete — replaced by 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

No equivalent — for more information, see Cannot set a custom MousePointer

When a Visual Basic 6.0 application is upgraded to Visual Basic 2008, the MousePointer property is replaced by the Cursor property. Code that uses MousePointer constants is modified to use Visual Basic 2008 Cursors enumerations.

If the Visual Basic 6.0 application uses a custom MousePointer, the design-time setting or custom MousePointer code will not be upgraded and a warning will be issued.

In addition, if the Visual Basic 6.0 application sets the MousePointer to the vbIconPointer constant at either design time or run time, it will be replaced by the default cursor during upgrade.

Community Additions

ADD
Show:
© 2014 Microsoft