J'ai trouvé cet article qui montre comment implémenter
un "Snap-To", c'est à dire que la sourie saute directement
au milieu du bouton par défaut d'un dialogue.
Logitech offre cette fonctionnalité dans leur pilote.:
http://support.microsoft.com/support/kb/articles/q186/4/28.asp
Mais j'ai développé ceci qui est assez simplet:
Dans un module:
Type POINTAPI ' This holds the logical cursor information
x As Integer
y As Integer
End Type
Type POINTAPI2 ' This holds the logical cursor information
x As Long
y As Long
End Type
Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI)
Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Global Positions1() As POINTAPI2
Global Itr As Integer
Dans ma feuille 1:
Private Sub Form_Load()
ReDim Positions1(3)
Positions1(0).x = 1
Positions1(0).y = 1
Positions1(1).x = 10
Positions1(1).y = 10
Positions1(2).x = 20
Positions1(2).y = 20
Positions1(3).x = 30
Positions1(3).y = 30
Itr = 0
End Sub
Private Sub Command1_Click()
'
' Cliquer une fois le bouton et ensuite la touche Espace
' ou continuer à cliquer
SetCursorPos Positions1(Itr).x, Positions1(Itr).y
Itr = Itr + 1 'Attention! Aucune limite testée, donc après UBound(Position1) BOUM!
End Sub