Event Control.KeyPress (gb.qt4)

Event KeyPress ( )

Viene sollevato quando si preme un tasto mentre il controllo ha lo stato attivo.

Si ottengono informazioni sul tasto premuto attraverso la classe Key.

Al termine della routine KeyPress, il testo all'interno di una TextBox viene modificato da Gambas, in base al tasto. Quindi non ha senso riscrivere nella proprietà Text qualsiasi informazione dal gestore eventi KeyPress, né da nessuna delle subroutine e funzioni che chiama. Conviene utilizzare al suo posto l'evento Change, che viene dopo l'aggiornamento del contenuto.

Esempio

PUBLIC SUB n_Keypress()
' Gestore di eventi per il Gruppo n - si tratta dell'array di TextBox 9 per 9 
DIM ltext AS Variant
DIM ltag AS Variant


ltext = Key.Text ' Ottiene il testo della chiave

ltag = LAST.Tag ' La proprietà del gruppo
IF NOT IsNull(ltext) THEN
  IF Mid(ltext, 1) >= "0" AND Mid(ltext, 1) <= "9" THEN
    ' È stato premuto uno dei tasti numerici da 0 a 9
    z[ltag] = Int(Asc(ltext) - 48) ' converte la stringa in numero intero e lo salva in un array di interi
...

' non occorre aggiornare il campo come ad es.: n.Text = 48 + i

Annullamento dell'evento

Se interrompi l'evento con STOP EVENT, il controllo non vedrà mai l'evento della tastiera.