Cambiar el cursor o puntero del ratón en OpenOffice Basic
¿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.
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