Foros del Web » Soporte técnico » Ofimática »

Cambiar puntero raton en formulario de Access97

Estas en el tema de Cambiar puntero raton en formulario de Access97 en el foro de Ofimática en Foros del Web. Buenos días, A ver si alguien podría echarme un pequeño cable con mi problema. Quizá, este tema ya se haya tratado antes, pero lo poco ...
  #1 (permalink)  
Antiguo 12/11/2008, 04:49
uen
 
Fecha de Ingreso: octubre-2003
Ubicación: A Coruña
Mensajes: 55
Antigüedad: 21 años, 1 mes
Puntos: 0
Pregunta Cambiar puntero raton en formulario de Access97

Buenos días,

A ver si alguien podría echarme un pequeño cable con mi problema.
Quizá, este tema ya se haya tratado antes, pero lo poco que he encontrado hasta el momento no me ha servido, por ello acudo de nuevo con el mismo post.

Os cuento. Tengo un formulario creado en Access97 con diferentes objetos en el (textbox, etiquetas, botones, etc...). Además, en ese mismo formulario, tengo imágenes insertadas que al hacer clic en ellas se abren vinculos externos.

El problema es que al pasar el puntero del raton por encima de estas imágenes, este no cambia (como si fuese un botón) y me gustaría que lo hiciese. Es decir, quiero que al pasar el puntero del ratón por una determinada imágen, este cambie al mítico puntero del dedo de windows, o también me serviría que camibiase a un puntero .cur que haya en el sistema.

Lo único que he encontrado ha sido la función:

Código:
screen.MousePointer
Pero ponga lo que ponga no me hace nada sobre la imágen. Quizá no lo esté poniendo en el sitio adecuado.

Muchas gracias de antemano por su respuesta.

Un cordial saludo
__________________
We Create, They Destroy Me.
  #2 (permalink)  
Antiguo 12/11/2008, 05:57
uen
 
Fecha de Ingreso: octubre-2003
Ubicación: A Coruña
Mensajes: 55
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Cambiar puntero raton en formulario de Access97

Solucionado!!

Quien esté buscando la solución, mire este enlace:

http://www.fermu.com/lang-es/foro?fu...=8252&start=12

Saludos!
__________________
We Create, They Destroy Me.
  #3 (permalink)  
Antiguo 14/11/2008, 01:46
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 3 meses
Puntos: 18
Respuesta: Cambiar puntero raton en formulario de Access97

Yo siempre uso el "truquillo" de la macro dedito (asi la llamo yo). Pero por aportar, dejo esto por si alguien quiere poner otro cursor:

Esto copiado en un modulo:
'************************************************* ***************
Option Compare Database
Option Explicit

'Para cambiar el tipo de cursor.

Public Const IDC_APPSTARTING = 32650&
Public Const IDC_ARROW = 32512&
Public Const IDC_CROSS = 32515&
Public Const IDC_IBEAM = 32513&
Public Const IDC_ICON = 32641&
Public Const IDC_NO = 32648&
Public Const IDC_SIZE = 32640&
Public Const IDC_SIZEALL = 32646&
Public Const IDC_SIZENESW = 32643&
Public Const IDC_SIZENS = 32645&
Public Const IDC_SIZENWSE = 32642&
Public Const IDC_SIZEWE = 32644&
Public Const IDC_UPARROW = 32516&
Public Const IDC_WAIT = 32514&

Declare Function LoadCursorBynum Lib "user32" Alias "LoadCursorA" _
(ByVal hInstance As Long, ByVal lpCursorName As Long) As Long

Declare Function LoadCursorFromFile Lib "user32" Alias _
"LoadCursorFromFileA" (ByVal lpFileName As String) As Long

Declare Function SetCursor Lib "user32" _
(ByVal hCursor As Long) As Long
'Para cursores animado extension .ani
'Para cursores normales extension .cur
Const curNAME = "harrow.cur" '<-- Aqui el nombre del cursor(que ha de estar en la carpeta"C:\WINDOWS\Cursores\"), aunque tambin se le puede indicar una ruta
Private mhCursor As Long
Private mstrCursorPath As String
Private Const ERR_INVALID_CURSOR = vbObjectError + 3333

Public Function mc_GetCursor()
'Para cambiar el tipo de cursor.
On Error GoTo ErrHandler

If Len(mstrCursorPath) = 0 Then
'Directorio predeteminado donde están los cursores
mstrCursorPath = "C:\WINDOWS\Cursores\"
mstrCursorPath = mstrCursorPath & curNAME
If Len(Dir(mstrCursorPath)) = 0 Then
mstrCursorPath = vbNullString
End If
End If
If Len(mstrCursorPath) = 0 Then
Err.Raise ERR_INVALID_CURSOR
Else
PointM (mstrCursorPath)
End If

ExitHere:
Exit Function

ErrHandler:
With Err
If .Number = ERR_INVALID_CURSOR Then
MsgBox "Error: " & .Number & vbCrLf & "Invalid Cursor type", _
vbCritical Or vbOKOnly, "Cursor Function"
Else
MsgBox "Error: " & .Number & vbCrLf & .Description, _
vbCritical Or vbOKOnly, "Cursor Function"
End If
End With
Resume ExitHere
End Function

Function MouseCursor(CursorType As Long)

Dim lngRet As Long

lngRet = LoadCursorBynum(0&, CursorType)
lngRet = SetCursor(lngRet)

End Function

Function PointM(strPathToCursor As String)

If mhCursor = 0 Then
mhCursor = LoadCursorFromFile(strPathToCursor)
End If
Call SetCursor(mhCursor)

End Function

************************************************** ***************

Luego, en el evnto MouseMove del control que sea, esto:

Private Sub NombreControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call mc_GetCursor
End Sub

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:31.