cs_tulesais
Messages postés175Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention11 avril 2013
-
23 févr. 2006 à 14:27
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
24 févr. 2006 à 09:49
Bonjour,
je souhaite déplacer le curseur de la souris à partir des flèches du clavier.
Cela fonctionne pour les quatres directions par contre, je ne vois pas comment faire pour les diagonales (deux touches appuyées).
Auriez vous une idée ?
Merci !!!
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim Pos As PointAPI
GetCursorPos Pos
x = Pos.x
y = Pos.y
If KeyCode = 40 Then 'BAS'
SetCursorPos x, y + 5
Else
If KeyCode = 37 Then 'GAUCHE'
SetCursorPos x - 5, y
Else
If KeyCode = 39 Then 'DROITE'
SetCursorPos x + 5, y
Else
If KeyCode = 38 Then 'HAUT'
SetCursorPos x, y - 5
End If
End If
End If
End If
End Sub
jrivet
Messages postés7393Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 23 févr. 2006 à 14:44
Salut,
Tiens essaie ceci (c est pas optimiser mais c est pour le principe)
'Variable privee du Form
Private BLeft As Boolean
Private BRight As Boolean
Private BUp As Boolean
Private BDown As Boolean
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim Pos As POINTAPI
Dim x As Long
Dim y As Long
GetCursorPos Pos
x = Pos.x
y = Pos.y
Select Case KeyCode
Case vbKeyUp: BUp = True
Case vbKeyDown: BDown = True
Case vbKeyLeft: BLeft = True
Case vbKeyRight: BRight = True
End Select
If BLeft Then
x = x - 5
ElseIf BRight Then
x = x + 5
End If
If BUp Then
y = y - 5
ElseIf BDown Then
y = y + 5
End If
SetCursorPos x, y
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp: BUp = False
Case vbKeyDown: BDown = False
Case vbKeyLeft: BLeft = False
Case vbKeyRight: BRight = False
End Select
End Sub
@+, Julien Pensez: Moteur de Recherche, Réponse Acceptée
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200629 23 févr. 2006 à 14:41
mushu60 < NE poura pas fonctionner car les evt clavier ne retourner qu'un seul code touche à la fois : Soit 40 soit 39 ! Jamais les deux en même temps ! C'est impossible.
Pour qu'une construction du type de "40 And 39" fonctionne, il faudrait que les keycode soient tous des puissances de 2 ! Ce qui n'est pas le cas .