Differenze tra le versioni di "Impedire, mentre si tiene premuto un tasto della tastiera, si produca il medesimo effetto cliccando su un altro tasto"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Il caso è quello in cui si intende evitare che, mentre si tiene premuto un tasto prima che sia stato rilasciato per la produzione di un effetto mediante l'evento ''_KeyReleas...") |
|||
Riga 6: | Riga 6: | ||
− | '''Public''' Sub | + | '''Public''' Sub Form_KeyPress() |
If status > 0 Then Return | If status > 0 Then Return | ||
Riga 14: | Riga 14: | ||
− | '''Public''' Sub | + | '''Public''' Sub Form_KeyRelease() |
If Key.Code <> status Then Return | If Key.Code <> status Then Return |
Versione delle 16:36, 24 apr 2016
Il caso è quello in cui si intende evitare che, mentre si tiene premuto un tasto prima che sia stato rilasciato per la produzione di un effetto mediante l'evento _KeyRelease(), si intende impedire che - dopo aver eventualmente premuto un altro tasto - possa produrre il medesimo efetto anch'esso con l'evento _KeyRelease() .
Mostriamo un codice per ottenere quella inibizione. In particolare i tasti della tastiera, presi in considerazione, sono il tasto della freccia a sinistra e quello della freccia a destra. L'obiettivo è quello per cui, sin tanto che si tiene premuto uno dei due tasti, premendo eventualmente l'altro, non si produce alcun effetto.
Private status As Integer Public Sub Form_KeyPress() If status > 0 Then Return status = Key.Code End Public Sub Form_KeyRelease() If Key.Code <> status Then Return Select Case Key.Code Case Key.Right Print "Freccia a destra" Case Key.Left Print "Freccia a sinistra" End Select status = 0 End