Clique sur un bouton ou appuier sur une touche

Résolu
piaf02840 Messages postés 19 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 9 octobre 2005 - 9 oct. 2005 à 09:43
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 9 oct. 2005 à 11:51
Je voudrais savoir comment faire pour que ce code fonctionne aussi
lorsque l'on appuie sur une touche du clavier par exemple la touche A.
Donc que ce script s'exécute lorsque j'appuie sur le bouton relais1 ou
que j'appuie sur la touche A du clavier . Merci.







'Exécuté lorsque le bouton du Relais 1 est pressé

Private Sub Relais1_Click()



'Si le bouton affiche Relais

If Relais1.Caption = "Relais &a" Then



'Ecrire Stop sur le bouton

Relais1.Caption = "Stop &a"



'Colorer la case à gauche en jaune

Case1.BackColor = &HFFFF&



'Si la case à gauche est décochée et le curseur =0

If Case1.Value 0 Then 'valStrobe1.Caption 0 And



'Cocher la case

Case1.Value = 1



'Mettre le premier bit du port // à 1

DlPortWritePortUshort numPort, DlPortReadPortUshort(numPort) - valCorr + 1



'Visualiser la valeur du port // en bas

AddPort.Caption = DlPortReadPortUshort(numPort) - valCorr

End If



'Si le bouton affiche Stop

Else



'Si la case à gauche est cochée

If Case1.Value = 1 Then



'Décocher la case à gauche

Case1.Value = 0



'Mettre à 0 le premier bit du port //

DlPortWritePortUshort numPort, DlPortReadPortUshort(numPort) - valCorr - 1

End If



'Visualiser la valeur du port // en bas

AddPort.Caption = DlPortReadPortUshort(numPort) - valCorr



'Ecrire Relais sur le bouton

Relais1.Caption = "Relais &a"



'Colorer en gris la case à gauche

Case1.BackColor = &H8000000F

End If

End Sub

4 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
9 oct. 2005 à 11:51
Maintenant, si tu utilises le keypress du form, il faut mettre le keypreview du form à true pour lui indiquer que les évènements clavier sont d'abord traités par le form.
Mais, pour ton cas, il ne faut pas de zones de saisie (textbox...) sur le form. Sinon, tu risques d'avoir des problèmes.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
Utilisateur anonyme
9 oct. 2005 à 11:05
Bonjour



Dans Form_KeyPress mettre:

If KeyAscii = 97 Then Call Relais1_Click()


ChRB
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
0
piaf02840 Messages postés 19 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 9 octobre 2005
9 oct. 2005 à 11:27
j'ai mis ça :



Private Sub FormMain_KeyPress()



If KeyAscii Asc("a") Or KeyAscii Asc("A") Then Call Relais1_Click

End If



End Sub



Mais sa marche pas !!
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
9 oct. 2005 à 11:41
Salut, si tu mets "&a" dans le caption de ton bouton, il suffit de presser ALT + a (ou A) et ça exécute le clic de ton bouton.
Seule chose à faire attention, il ne faut pas qu'un autre bouton de la même form ait un "&a" dans son caption.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous