MousePointer para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

En Visual Basic 2008, la propiedad MousePointer de Visual Basic 6.0 se ha reemplazado por la propiedad Cursor y los nombres de las constantes MousePointer han cambiado.

Diferencias conceptuales

En Visual Basic 6.0, la propiedad MousePointer de un formulario o control se utiliza para cambiar el aspecto del cursor cuando se desplaza sobre ese formulario o control.

En Visual Basic 2008, la propiedad Cursor proporciona la misma funcionalidad que MousePointer.

Punteros del mouse personalizados

En Visual Basic 6.0, puede utilizar cualquier icono (.ico) o archivo de cursor (.cur) como un MousePointer personalizado.

En Visual Basic 2008, sólo se admiten archivos de cursor; para establecer un cursor personalizado en tiempo de ejecución, asigne un archivo de cursor a la propiedad Cursor.

vbIconPointer (Constante)

Visual Basic 6.0 incluye en MousePointer la constante vbIconPointer para cambiar el cursor a un símbolo del icono (un cuadrado pequeño dentro de un cuadrado). Esta constante se proporciona únicamente por cuestiones de herencia; en los sistemas operativos más nuevos no tiene ningún efecto y se muestra el cursor predeterminado. No existe equivalente en Visual Basic 2008.

Cambios de código para la propiedad MousePointer

En los ejemplos siguientes se muestran las diferencias entre las técnicas de codificación de Visual Basic 6.0 y Visual Basic 2008.

Cambiar el aspecto del cursor

En el ejemplo siguiente se muestra cómo el cursor cambia su aspecto cuando se desplaza sobre un control de cuadro de texto en tiempo de ejecución, y se sustituye la flecha predeterminada por un cursor con forma de reloj de arena. En el ejemplo de Visual Basic 6.0 se establece la propiedad MousePointer; en el ejemplo de Visual Basic 2008, la propiedad Cursor es el equivalente de MousePointer. En el ejemplo de Visual Basic 2008 también se utiliza el nuevo evento 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

Mostrar un cursor personalizado

El código siguiente muestra un cursor en forma de mano cuando el cursor se desplaza sobre un control de cuadro de texto. En el ejemplo de Visual Basic 6.0 se definen las propiedades MouseIcon y MousePointer; en el ejemplo de Visual Basic 2005 la propiedad Cursor se establece en una nueva instancia de un objeto 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

Equivalencias de las constantes MousePointer

En la tabla siguiente se muestran las constantes de Visual Basic 6.0 y sus equivalentes en Visual Basic 2008.

Visual Basic 6.0

Equivalente en Visual Basic 2008

0 – vbDefault

Default

1 – vbArrow

Arrow

2 – vbCrossHair

Cross

3 – vbIBeam

IBeam

4 – vbIconPointer

Obsoleto — se ha reemplazado por 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 hay equivalente — para obtener más información, vea No se puede personalizar la propiedad MousePointer

Notas de actualización

Cuando una aplicación de Visual Basic 6.0 se actualiza a Visual Basic 2008, la propiedad MousePointer se reemplaza por la propiedad Cursor. El código que utiliza las constantes MousePointer se modifica para que utilice las enumeraciones Cursors de Visual Basic 2008.

Si la aplicación de Visual Basic 6.0 utiliza un MousePointer personalizado, la configuración en tiempo de diseño o el código personalizado de MousePointer no se actualizará, y se emitirá una advertencia.

Asimismo, si la aplicación de Visual Basic 6.0 establece el MousePointer en la constante vbIconPointer en tiempo de diseño o en tiempo de ejecución, se sustituirá por el cursor predeterminado durante la actualización.

Vea también

Referencia

No se puede personalizar la propiedad MousePointer

Otros recursos

Controles de formularios Windows Forms para usuarios de Visual Basic 6.0

Cambios en los eventos, métodos y propiedades de controles para usuarios de Visual Basic 6.0