Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Changement d'apparence de la souris en passant au dessus d'un contrôle

4 réponses
Avatar
Archives
Bonjour,

Dans un formulaire sous Access 97, je souhaite que la souris se transforme
en une main (comme sous internet explorer quand il passe au dessus d'un
lien) à chaque fois que la souris est positionnée au dessus d'un contrôle
(contrôle label ou champ texte notamment). J'ai deux soucis:
- je ne sais pas reconnaître lorsque la souris entre ou sort du contrôle.
L'événement "sur souris déplacée" me permet bien de détecter le moment où la
souris entre au dessus du contrôle mais pas quand elle en sort.
- Access 97 ne possède pas le curseur en forme de main pour un lien .

Merci pour votre aide.

4 réponses

Avatar
Raymond [mvp]
Bonjour.

Lis la page: http://access.seneque.free.fr/changer_curseur.htm
Cette procédure vous permet de changer le type de curseur dans un
formulaire. Pour l'exemple j'ai utilisé le curseur main qui s'affiche chaque
fois qu'il passe sur un bouton de commande. Tous les curseurs se trouvent
dans le répertoire c:windowscursors.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum



"Archives" a écrit dans le message de
news:brudkf$7sl$
Bonjour,

Dans un formulaire sous Access 97, je souhaite que la souris se transforme
en une main (comme sous internet explorer quand il passe au dessus d'un
lien) à chaque fois que la souris est positionnée au dessus d'un contrôle
(contrôle label ou champ texte notamment). J'ai deux soucis:
- je ne sais pas reconnaître lorsque la souris entre ou sort du contrôle.
L'événement "sur souris déplacée" me permet bien de détecter le moment où
la

souris entre au dessus du contrôle mais pas quand elle en sort.
- Access 97 ne possède pas le curseur en forme de main pour un lien .

Merci pour votre aide.




Avatar
Jessy SEMPERE
Bonjour

Ce code permet de faire ce que tu souhaites (enregistre le dans un module
standard de ta base de donnée) :

Il te suffit de mettre sur l'événement "sur souris déplacée" :
=GetCursor()

PS : Tu dois changer le chemin et le nom du curseur...

*********************************************************
Option Compare Database
Option Explicit

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

Const curNAME = "Cursor1.CUR"
Private mhCursor As Long
Private mstrCursorPath As String
Private Const ERR_INVALID_CURSOR = vbObjectError + 3333

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

Public Function GetCursor()
On Error GoTo ErrHandler
If Len(mstrCursorPath) = 0 Then
mstrCursorPath = CurrentDb.Name
mstrCursorPath = Left(mstrCursorPath, InStr(mstrCursorPath,
Dir(mstrCursorPath)) - 1)
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 Sub
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
*********************************************************


@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Archives" a écrit dans le message news:
brudkf$7sl$
Bonjour,

Dans un formulaire sous Access 97, je souhaite que la souris se transforme
en une main (comme sous internet explorer quand il passe au dessus d'un
lien) à chaque fois que la souris est positionnée au dessus d'un contrôle
(contrôle label ou champ texte notamment). J'ai deux soucis:
- je ne sais pas reconnaître lorsque la souris entre ou sort du contrôle.
L'événement "sur souris déplacée" me permet bien de détecter le moment où
la

souris entre au dessus du contrôle mais pas quand elle en sort.
- Access 97 ne possède pas le curseur en forme de main pour un lien .

Merci pour votre aide.




Avatar
Archives
Merci beaucoup à tous les deux. Vos codes fonctionnent à merveille. Les
utilisateurs vont maintenant pouvoir savoir lorsqu'il y a un lien sous un
texte. Encore merci.
Avatar
Stéphane Brille
Bonsoir,

Un truc idiot glané sur le forum : pour certains controles commes les
boutons ou les images, qui possèdent une propriété "lien hypertexte", le
simple fait de mettre "" (2 guillemets) dans les propriétés transforme le
curseur en main quand il passe dessus, et vérifie le proverbe "moins de
code, moins d'ennuis"

--
Cordialement,

Stéphane Brille
www.microbloc.com
(enlevez NoSpam. pour répondre)