Documentation de Gambas - /comp/gb.qt4/control/.keypress

/comp/gb.qt4/control/.keypress

# Event Control.KeyPress (gb.qt4)

Event KeyPress ( )

Est levé si une touche est pressée pendant que le contrôle a le focus.

Vous obtenez les informations concernant la touche pressée avec la classe Key.

Une fois la routine "KeyPress" terminée, le texte dans la TextBox est édité par Gambas, en fonction de la touche. Aussi cela n’a-t-il pas de sens de revenir écrire dans la propriété "Text" une quelconque information en provenance du gestionnaire d’évènement "KeyPress", ni d’aucune subroutine ou fonction qu’il appelle. Utilisez plutôt l’évènement "Change", qui survient après la mise à jour du contenu.

### Exemple

    PUBLIC SUB n_Keypress()
    ' Gestionnaire d’évènement pour le "Group n" – qui est le tableau de "TextBoxes"  9 par 9
    DIM ltext AS Variant
    DIM ltag AS Variant

    ltext = Key.Text ' Lit le code de touche
    ltag = LAST.Tag ' La propriété Group
    IF NOT IsNull(ltext) THEN
      IF Mid(ltext, 1) &gt;= "0" AND Mid(ltext, 1) &lt;= "9" THEN
        ' A pressé l’une des touches numériques 0 à 9
        z[ltag] = Int(Asc(ltext) - 48) ' convertit la chaîne en "integer" et sauve dans le tableau d’entiers
    ...

    ' Ne doit pas mettre à jour le champ, par exemple : n.Text = 48 + i

### Annulation d’évènement

Si vous stoppez l’Evènement à l’aide de STOP EVENT, le contrôle ne verra pas du tout l’évènement clavier.