Code ASCII de la touche Verr. Maj

Résolu
killman__37 Messages postés 25 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 5 avril 2006 - 5 oct. 2005 à 15:50
killman__37 Messages postés 25 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 5 avril 2006 - 5 oct. 2005 à 17:15
Salut tout le monde, je programme en vb6 je voulais savoir si qqn pouvait me donner le code ascii du Verr. Maj, c'est pour détecter la touche lorsqu'elle a était pressé. Merci d'avance...

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
5 oct. 2005 à 17:11
salut,
oui en effet, c'est le code 20


Private Sub Form_Load()
Me.AutoRedraw = True
End Sub
'
'
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Me.Cls
Me.Print KeyCode
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
3
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
5 oct. 2005 à 16:31
salut,

un code ascii n'est pas attribué a une touche du clavier, mais a un caractéré particulier.
ainsi la touche MAJ n'a pas de code ascii, par contre la touche "a" en a deux : le a minuscule et le A majuscule (65)

sinon pour detecter l'appuie sur une touche MAJ, il faut que tu utilise l'evenement KeyDown sur un controle.

par exemple
private sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

la variable Shift peut prendre différentes valeurs :
0 -> appui sur une touche "normale"
1 -> appuie sur MAJ (ce que tu veux)
2 -> appuie sur controle ou alt(droit)
4 -> appuie sur alt (gauche)
etc

j'espere que ca pourra t'aider, si tu as besoin de plus de precisions, hesite pas ;)
0
killman__37 Messages postés 25 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 5 avril 2006
5 oct. 2005 à 16:59
Merci pour ton aide mais la touche Verr Maj possede bien un code peut-être pas ascii, mais elle a un code, ce qu'il y a c'est que je m'en souviens plus, c'est comme VerrNum qui a 114 comme code. Mais bon je vais bien finir par trouver merci. C'est pour une feuille MDI qui possede une barre en bas contenant l'heure, la date , la touche NUM et MAJ ainsi que le nom de l'utilisateur, et l'imprimante ect...
donc j'utilise un timer qui detecte les touches pressées par la fonction GetAsyncKeyState(). Donc voila si tu trouves une solution, ou qqn d'autre, merci beaucoup. Et merci encore à 35535 aieeeuuuuu


Mon Code :

Private Sub Timer1_Timer()
Dim Retour As Long
Dim Retour2 As Long
Retour = GetAsyncKeyState(144)
If (Retour) <> 0 Then
If a = 0 Then
a = 1
StatusBar1.Panels.Item(2).Text = ""
Else
If a = 1 Then
a = 0
StatusBar1.Panels.Item(2).Text = "NUM"
End If
End If
End If
Retour2 = GetAsyncKeyState(?)
If (Retour2) <> 0 Then
If c = 0 Then
c = 1
StatusBar1.Panels.Item(1).Text = "MAJ"
Else
If c = 1 Then
c = 0
StatusBar1.Panels.Item(1).Text = ""
End If
End If
End If


StatusBar1.Panels.Item(3).Text = Date
StatusBar1.Panels.Item(4).Text = Time
StatusBar1.Panels.Item(5).Text = Utilisateur
StatusBar1.Panels.Item(6).Text = ""
StatusBar1.Panels.Item(7).Text = ""
StatusBar1.Panels.Item(8).Text = ""


End Sub

PS: c'est un peu souillon mais bon je debute ou presque... Merci de votre comprehension!
0
killman__37 Messages postés 25 Date d'inscription samedi 13 août 2005 Statut Membre Dernière intervention 5 avril 2006
5 oct. 2005 à 17:15
Merci pour la reponse pcpt c'est vrai que je n'avais pas pensé à faire ca, plutot pratique...
0
Rejoignez-nous