Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe cómo usar El evento KeyPress para los controles de formulario.
Versión original del producto: Visual FoxPro
Número de KB original: 140296
Resumen
Muchos desarrolladores usan ON KEY LABEL para asignar programas o procedimientos dentro de los programas que se van a ejecutar al presionar una clave específica (normalmente una clave de función). Sin embargo, si la asignación ON KEY LABEL es específica de un control dentro de un formulario, una alternativa mejor sería usar el evento KeyPress de ese control.
Más información
El evento KeyPress está disponible para los siguientes controles de formulario:
Caja de verificación, Cuadro combinado, Botón de comando, Cuadro de edición, Formulario, Cuadro de lista, Botón de opción, Giratorio, Cuadro de texto
Es posible usar este evento para comprobar la pulsación de una tecla específica. Al usar el evento KeyPress para realizar una acción basada en una clave de función, el valor de la clave de función se debe usar como se muestra en esta tabla:
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
Para obtener más información sobre los valores de clave, vea la función en el INKEY()
archivo de ayuda de Visual FoxPro.
Ejemplo paso a paso
Los pasos siguientes muestran cómo usar el evento KeyPress.
Cree un formulario y coloque un cuadro de texto en él.
En la
ControlSource
propiedad del cuadro de texto, escriba mykey (o cualquier otra variable que prefiera).Coloque el código siguiente en el evento KeyPress del cuadro de texto:
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
Coloque el código siguiente en el evento Load del formulario:
CLEAR MACROS SET HELP OFF *: This will disable FoxPro's default function key assignments.
Coloque el código siguiente en el evento Destroy del formulario:
RESTORE MACROS SET HELP ON *: This will restore FoxPro's default function key assignments.
Coloque un botón de comando en el formulario y coloque el siguiente código en su evento de clic:
ThisForm.Release
Guarde y ejecute el formulario. Si se presiona la tecla F1 o F5, deben aparecer los mensajes WAIT WINDOW adecuados y se debe actualizar el cuadro de texto.