Evenement keypress

polloguipa Messages postés 1 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 17 avril 2008 - 17 avril 2008 à 15:27
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 30 sept. 2008 à 05:19
salut a tous,

J'ai besoin d'aide pour un événement keypress, à chaque fois que l'on press échap, cela ferme le programme, le problème, c'est que ça ne fonctionne qu'avec quelques feuilles de mon projet. Je ne sais pas si c'est à cause des minuteries ou quelque chose du genre mais bref, voici le code que j'insère dans chaque feuille de mon projet

    If KeyAscii = 27 Then
    End
    End If

assez simple, non?


Mais il reste que ça ne fonctionne guère( ou plutot ca ne fonctionne qu'avec certaines feuilles)répondez s.v.p, merci d'avance.

7 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
17 avril 2008 à 15:28
Salut,
OU est insérer le code?

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
17 avril 2008 à 15:55
Keyascii ....... pas de code ascii pour la touche Echap (ni F1, F2, ..., F12, les touches flechées, etc)

utilises plutot KeyCode (donc KeyDown/Keyup)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
17 avril 2008 à 16:55
Utiliser End pour fermer ton logiciel est une méthode vraiment très très sale.

End provoque un arret brutal de l'application par destruction pure et simple du process l'hébergeant.

Aucun objet n'est correctement fermé, les objets en mémoire sont détruits parce qu'ils ne sont ratachés à un process valide.
Les fichiers ouverts ne sont pas forcément correctement fermés et cela peut provoquer des pertes de données ...........

Avant d'utiliser End, il faut s'assurer que tous les objets explicitement intanciés dans le code sont fermés, les fichiers fermés, les timers arretés, les écrans déchargés ......
End doit etre la toute dernière instrcution à executer lors de la fermeture d'un logiciel. Et généralement d'ailleurs elle n'est pas necessaire. Si tous les écrans sont fermés, tous les objets détruits, ... le logiciel s'arrete de lui-même.
Souvent c'est la fermeture du dernier écran ouvert qui provoque l'arret.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
BliZcode Messages postés 6 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 16 octobre 2008
26 sept. 2008 à 16:48
Salut !
Bon, il est un peu tard, mais j'ai eu aussi ce problème (et c'est pas les réponsse sans rapport avec ta question ci-dessus qui m'ont aidées...).

Vérifie que la propriété du formulaire KeyPreview est bien = True

Voila.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BliZcode Messages postés 6 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 16 octobre 2008
26 sept. 2008 à 16:50
(je précise que chez moi, en débogage, on ne passait même pas dans le code des événements Key... si KeyPreview = False)
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
26 sept. 2008 à 20:56
salut.

"(et c'est pas les réponsse sans rapport avec ta question ci-dessus qui m'ont aidées...)."
qu'est ce qui te permet de dire cela????
Sympa de nous cracher dessus....
@+: Ju£i€n
Pensez: Réponse acceptée
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
30 sept. 2008 à 05:19
sur que si tu es dans Form_KeyPress, il faut le KeyPreview...

ca n'etais pas précisé...
si c'est pour faire un controle du genre:
bouton Echap pressé, on detecte et on stoppe la tach en cours, mieux vaut, je pense, mettre un bouton, lui donner un Caption explicite "Annuler" et mettre sa propriété Cancel à true.

l'utilisateur lambda pourra cliquer dessus, ou presser echap, sans une seule ligne de code supplémentaire
0