Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come usare l'evento KeyPress per i controlli del modulo.
Versione originale del prodotto: Visual FoxPro
Numero KB originale: 140296
Riepilogo
Molti sviluppatori usano ON KEY LABEL per assegnare programmi o procedure all'interno di programmi che devono essere eseguiti quando si preme un tasto specifico (in genere un tasto funzione). Tuttavia, se l'assegnazione ON KEY LABEL deve essere specifica di un controllo all'interno di una forma, un'alternativa migliore sarebbe usare l'evento KeyPress di tale controllo.
Ulteriori informazioni
L'evento KeyPress è disponibile per i controlli di modulo seguenti:
CheckBox, ComboBox, CommandButton, EditBox, Form, ListBox, OptionButton, Spinner, TextBox
È possibile utilizzare questo evento per verificare la pressione di un tasto specifico. Quando si usa l'evento KeyPress per eseguire un'azione basata su una chiave di funzione, il valore della chiave di funzione deve essere usato come illustrato nella tabella seguente:
Key Alone Shift Ctrl Alt
------------------------------------
F1 28 84 94 104
F2 -1 85 95 105
F3 -2 86 96 106
F4 -3 87 97 107
F5 -4 88 98 108
F6 -5 89 99 109
F7 -6 90 100 110
F8 -7 91 101 111
F9 -8 92 102 112
F10 -9 93 103 113
F11 133 135 137 139
F12 134 136 138 140
Per altre informazioni sui valori chiave, vedere la INKEY()
funzione nel file della Guida di Visual FoxPro.
Esempio dettagliato
I passaggi seguenti illustrano come usare l'evento KeyPress.
Creare un modulo e posizionare una casella di testo.
ControlSource
Nella proprietà della casella di testo digitare mykey (o qualsiasi altra variabile preferita).Inserire il codice seguente nell'evento KeyPress della casella di testo:
LPARAMETERS nKeyCode, nShiftAltCtrl *: The previous line of code is already contained in the KeyPress event *: by default. DO CASE CASE nKeyCode = 28 WAIT WINDOW "The F1 Key has been pressed" NOWAIT mykey = "F1 Key" ThisForm.Refresh CASE nKeyCode = -4 WAIT WINDOW "The F5 Key has been pressed" NOWAIT mykey = "F5 Key" ThisForm.Refresh ENDCASE
Inserire il codice seguente nell'evento Load del modulo:
CLEAR MACROS SET HELP OFF *: This will disable FoxPro's default function key assignments.
Inserire il codice seguente nell'evento Destroy del form:
RESTORE MACROS SET HELP ON *: This will restore FoxPro's default function key assignments.
Posizionare un pulsante di comando nel modulo e inserire il codice seguente nell'evento click:
ThisForm.Release
Salvare ed eseguire il modulo. Se si preme F1 o F5, verranno visualizzati i messaggi WAIT WINDOW appropriati e la casella di testo deve essere aggiornata.