Changer le curseur de la souris.

Exclusion de responsabilité du contenu obsolète de la base de connaissances

Cet article a été rédigé sur les produits pour lesquels Microsoft n’offre plus aucune prise en charge. Par conséquent, cet article est proposé « en l’état » et ne sera plus mis à jour.

Symptômes


Comment puis-je changer le curseur de la souris, lors d'un évenement
MouseMove d'un champ de type texte?


Résolution



Pour changer le curseur de la souris lors d'un tel événement, vous devez
utiliser, Pour Access 2.00, les Apis Windows 16-Bits LoadCursor(), et
SetCursor() et pour Microsoft Access 7.00, les Apis Windows 95 32-bits
LoadCursorA() et SetCursor().

Windows 3.1X Apis 16-Bits Windows 95 Apis 32-Bits
LoadCursor(Integer,Any) LoadCursorA(Long,Any)
SetCursor(Integer) SetCursor(Long)



Dans l'exemple qui suit, le curseur par défaut est remplacé, par le
curseur sablier prédéfinis dans windows.
Ces différents curseurs sont également appelés Curseurs Systèmes.

Microsoft Access 2.00 et utilisation des Apis 16-Bits :

1. Créez un nouveau module et ajoutez y les déclarations suivantes:

'déclarations des différents curseurs
'Constante_Declaration
Global Const IDC_ARROW = 32512&
Global Const IDC_IBEAM = 32513&
Global Const IDC_WAIT = 32514&
Global Const IDC_CROSS = 32515&
Global Const IDC_UPARROW = 32516&
Global Const IDC_SIZE = 32640&
Global Const IDC_ICON = 32641&
Global Const IDC_SIZENWSE = 32642&
Global Const IDC_SIZENESW = 32643&
Global Const IDC_SIZEWE = 32644&
Global Const IDC_SIZENS = 32645&
Global Const IDCANCEL = 2

Declare Function LoadCursor Lib "User" (ByVal hInstance As Integer,_
ByVal lpCursorName As Any) As Integer
Declare Function Setcursor Lib "User" (ByVal hCursor As Integer)_
As Integer

2. Créez un nouveau formulaire et ajoutez-y un contrôle de type zone de
texte.
3. Affichez les propriétés de ce contrôle.
4. Sur l'évenement Sur Souris déplacée choisir [Event Procedure]
et ajoutez les lignes suivantes :

Sub Champ0_MouseMove()
Dim hCursorSave As Integer
hCursorSave = Setcursor(LoadCursor(0, IDC_WAIT))
End Sub

Microsoft Access 7.00 et utilisation des Apis 32-Bits :
1. Créez un nouveau module et ajoutez y les déclarations suivantes:

Option Compare Database
'déclarations des différents curseurs
'Constante_Declaration
Global Const IDC_APPSTARTING = 32650&
Global Const IDC_ARROW = 32512&
Global Const IDC_IBEAM = 32513&
Global Const IDC_WAIT = 32514&
Global Const IDC_CROSS = 32515&
Global Const IDC_UPARROW = 32516&
Global Const IDC_SIZE = 32640&
Global Const IDC_ICON = 32641&
Global Const IDC_SIZENWSE = 32642&
Global Const IDC_SIZENESW = 32643&
Global Const IDC_SIZEWE = 32644&
Global Const IDC_SIZENS = 32645&
Global Const IDC_NO = 32648&
Global Const IDCANCEL = 2


Pour des raisons de compatibilité avec un eventuel portage d'une
application Microsoft Access 2.00, nous utilisons ici l'Alias
"LoadCursor" sur l'Apis 32-Bits LoadCursorA()

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

Declare Function Setcursor Lib "user32" Alias "SetCursor" _
(ByVal hCursor As Long) As Long


2) Répetez les Etapes 2, 3, et 4
Propriétés

ID d'article : 462050 - Dernière mise à jour : 7 nov. 2003 - Révision : 1

Commentaires