martedì 10 febbraio 2015

Keydown e RawKeyDown

Se scorrete il dizionario di livecode, noterete che esistono molti messaggi che si attivano quando premete un pulsante della tastiera:
  • keydown
  • rawKeyDown
  • optionKeyDown
  • controlKeyDown 
  • commandKeyDown
Vediamo insieme le differenze.
Di base un programmatore dovrebbe utilizzare keydown, esso permette di intercettare cosa preme l'utente e modificare il comportamento del programma. Se volessimo che in un campo l'utente digiti solo numeri, possiamo inserire questo codice nel campo:

on keyDown theKey
   if theKey is a number then pass keyDown
end keyDown

In questo modo il messaggio di aver premuto il pulsante viene passato solo se il pulsante premuto è un numero. KeyDown si attiva solo normali della tastiera, non si attiva per le frecce o per il pulsante Esc, Tab, CTRL, Alt, Shift, Backspace, ecc. In questo modo l'utente può modificare il campo di testo usando la tastiera.
Se invece dobbiamo intercettare ogni tipo di pulsante (eccetto CTRL e Alt), c'è il comando rawKeyDown.
Per intercettare Alt abbiamo il comando optionKeyDown.
Per intercettare CTRL c'è commandKeyDown.