Salut à tous,
Pour un petit programme, j'ai eu besoin d'utiliser les touches du curseur... avec des combinaisons Haut-droite, Haut-gauche etc...
Mais, Visual Basic 5/6 ne scrutent qu'une touche à la fois!
Donc, il faudra utiliser le clavier numérique avec les diagonales 7,9,3 et 1...
Et c'est pas cool.
Donc, voici un petit programme pour utiliser seulement 4 touches pour 8 directions.
On crée un projet, avec une "Form" nommée "Form1", et dedans on y place trois objets "Line".
On renomme ces lignes respectivement :
Line1, Line2 et LineC.
Puis, on colle ce code :
'------------------------------
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Boolean
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'------------------------------
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Form_KeyPress (KeyCode)
End Sub
'------------------------------
Private Sub Form_KeyPress(KeyAscii As Integer)
With Form1
LineC.X1 = .Width / 2
LineC.Y1 = .Height / 2
LineC.X2 = (.Width / 2) + IIf(GetAsyncKeyState(37), 0, .Width / 2) - IIf(GetAsyncKeyState(39), 0, .Width / 2)
LineC.Y2 = (.Height / 2) + IIf(GetAsyncKeyState(38), 0, .Height / 2) - IIf(GetAsyncKeyState(40), 0, .Height / 2)
End With
DoEvents
Sleep 100
With Form1
LineC.X1 = .Width / 2
LineC.X2 = .Width / 2
LineC.Y1 = .Height / 2
LineC.Y2 = .Height / 2
End With
DoEvents
End Sub
'------------------------------
Private Sub Form_Load()
LineC.BorderColor = vbRed
LineC.BorderWidth = 10
KeyPreview = True
With Form1
Line2.X1 = 0
Line2.Y1 = .Height / 2
Line2.X2 = .Width
Line2.Y2 = .Height / 2
Line1.X1 = .Width / 2
Line1.Y1 = 0
Line1.X2 = .Width / 2
Line1.Y2 = .Height
LineC.X1 = .Width / 2
LineC.X2 = .Width / 2
LineC.Y1 = .Height / 2
LineC.Y2 = .Height / 2
End With
End Sub
Voilà.
C'est du réchauffé, mais bon... On peut imaginer un mode secret pour un jeu en appuiant sur les lettres de votre prénom, ou avoir accès à une Form de configuration...
... Mais gardez à l'esprit que "ctrl+alt+supprime" est toujours valide sur nos nouveaux systèmes.
;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.