Impedire, mentre si tiene premuto un tasto della tastiera, si produca il medesimo effetto cliccando su un altro tasto

Da Gambas-it.org - Wikipedia.
Versione del 24 apr 2016 alle 16:34 di Vuott (Discussione | contributi) (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...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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