Touche echap

samix85 Messages postés 4 Date d'inscription lundi 28 avril 2003 Statut Membre Dernière intervention 5 mai 2003 - 28 avril 2003 à 17:18
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 28 avril 2003 à 17:44
comment faire pour qu'une action ou une boucle s'arrete en appuyant sur la touche echap

2 réponses

marseau Messages postés 39 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 16 décembre 2003
28 avril 2003 à 17:29
tu récupère le code ascii...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 avril 2003 à 17:44
le mieux , c'est de mettre la propriete 'KeyPreview' de ta form a true. De sorte que toutes les touches que tu va presser seront portées a son attention, independemment du controle qui a le focus. Ensuite , lors de l'eventement KeyPress de ta form , tu teste si la touche presée ea la valeur vbkeyescape (27), et si c'est elle, tu met une variable globale a Vrai.

il ne te reste plus qu'au mettre cette valeur drapeau a Faux au debut d'une boucle, d'effectuer ta boucle ( en n'oubliant pas d'y inserer un Dovevents, si celle-ci est longue... ) et de faire finir la boucle si la variable globale definie est a vraie , preuve que la touche echap a bien ete pressee.

esperant avoir ete clair.

dans le doute , cree une fenetre , avec ce que tu veux dedans, et met ce code :

Dim ArretesToi As Boolean

Private Sub Form_Click()
    Me.Caption = 0
    ArretesToi = False 'on initialise le Flag
    While Not ArretesToi
        DoEvents ' pour ne pas que l'appli se bloque
        Me.Caption = Me.Caption + 1 'on fait une action
    Wend
    Me.Caption = "Boucle Stoppée , Cliquez sur la fenetre....."
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)    If KeyAscii vbKeyEscape Then ArretesToi True
End Sub

Private Sub Form_Load()
    Me.KeyPreview = True
    Me.Caption = "Cliquez sur la fenetre....."
End Sub

-----------------------------------------------------------------------
By Renfield

thomas_reynald@msn.com

Aucune touche n'a été bléssée lors de la saisie de ce texte..........
0
Rejoignez-nous