Cambiar el cursor o puntero del ratón en OpenOffice Basic
![Cambiar el cursor o puntero del ratón en OpenOffice Basic](/media/blogs/basic/Macros/Puntero-raton/OpenOffice-API-SystemPointer-4.png)
¿Cómo cambiar la forma del puntero del ratón de una flecha a una mano, reloj, u otros iconos cuando pasan por encima de un objeto, como por ejemplo, un botón?
Éste código te ayuda a conseguirlo.
Por ejemplo, una de las técnicas es escribir una macro y asignarla al evento Ratón dentro del objeto.Si nuestro objeto es un botón, puedes asignar la siguiente macro al evento Ratón dentro.
Option Explicit
Sub RatonDentro( Evento )
Dim oPuntero As Object
oPuntero = CreateUnoService("com.sun.star.awt.Pointer")
oPuntero.Type = com.sun.star.awt.SystemPointer.HAND
Evento.Source.Peer.setPointer( oPuntero )
End Sub
En esta macro hemos asignado la forma de mano al puntero cuando situamos el ratón encima del botón.
![Cambiar el cursor o puntero del ratón en OpenOffice Basic](/media/blogs/basic/Macros/Puntero-raton/OpenOffice-API-SystemPointer-1.png)
El puntero no sólamente puede tomar la forma de una mano. Existen múltiples formas que puedes asignar, y que se relacionan en la siguiente página: Propiedad SystemPointer de la API OpenOffice
Ejemplos:
WAIT |
![]() |
HELP |
![]() |
|
REFHAND |
![]() |
PEN |
![]() |
|
MAGNIFY |
![]() |
HAND |
![]() |
En nuestras pruebas, no fué necesario programar una macro similar para que devuelva el formato original al puntero en el evento Ratón fuera. Si fuera necesario, puedes utilizar la siguiente macro:
Option Explicit
Sub RatonFuera( Evento )
Dim oPuntero As Object
oPuntero = CreateUnoService("com.sun.star.awt.Pointer")
oPuntero.Type = com.sun.star.awt.SystemPointer.ARROW
Evento.Source.Peer.setPointer( oPuntero )
End Sub
Con esta macro devolvemos la forma de flecha al puntero.
Fuente: Foro oficial en español de Apache OpenOffice