ON KEY LABEL (Comando)
Especifica un comando que se ejecutará cuando presione una tecla o una combinación de teclas específica o haga clic con el mouse.
ON KEY [LABEL KeyLabelName] [Command]
Parámetros
LABEL KeyLabelName
Especifica el nombre de etiqueta de tecla asignado a la tecla. KeyLabelName es la letra o el dígito de la tecla, o un nombre especial asignado a la tecla. La siguiente tabla muestra los nombres de etiqueta de teclas especiales.Asignaciones de etiquetas de tecla de Visual FoxPro
Para esta tecla Especifique este valor de KeyLabelName LEFTARROW RIGHTARROW UPARROW DNARROW INICIO HOME FIN END RE PÁG PGUP AV PÁG PGDN DEL DEL BACKSPACE BACKSPACE SPACEBAR SPACEBAR INS INS TAB TAB MAYÚSCULAS+TAB BACKTAB Llave de apertura LBRACE Llave de cierre RBRACE ENTER ENTER F1 a F12 F1, F2, F3 ... CTRL+F1 a CTRL+F12 CTRL+F1, CTRL+F2 ... MAYÚSCULAS+F1 a MAYÚSCULAS+F12 SHIFT+F1, SHIFT+F2 ... ALT+F1 a ALT+F12 ALT+F1, ALT+F2, ALT+F3 ... ALT+0 a ALT+9 ALT+0, ALT+1, ALT+2 ... ALT+A a ALT+Z ALT+A, ALT+B, ALT+C ... CTRL+FLECHA IZQUIERDA CTRL+LEFTARROW CTRL+FLECHA DERECHA CTRL+RIGHTARROW CTRL+INICIO CTRL+HOME CTRL+FIN CTRL+END CTRL+RE PÁG CTRL+PGUP CTRL+AV PÁG CTRL+PGDN CTRL+A a CTRL+Z CTRL+A, CTRL+B, CTRL+C ... CTRL+0 CTRL+0 BOTÓN SECUNDARIO DEL MOUSE RIGHTMOUSE BOTÓN PRIMARIO DEL MOUSE LEFTMOUSE BOTÓN DEL MOUSE MOUSE ESC ESC Command
Especifica el comando que se ejecuta al presionar la tecla o combinación de teclas especificada, o al hacer clic en el botón del mouse.Se pueden incluir parámetros o expresiones de parámetros con el comando que se ha asignado a la tecla, como se muestra en el siguiente ejemplo:
ON KEY LABEL ALT+V WAIT WINDOW "Version: " + VERSION()
Se pueden incluir variables en la asignación, con la única condición de que sean públicas. Por ejemplo:
PUBLIC message message = "Default drive: " + SYS(5) ON KEY LABEL ALT+D WAIT WINDOW message
Observaciones
ON KEY LABEL utiliza normalmente DO para ejecutar un procedimiento.
ON KEY LABEL ejecuta el comando inmediatamente siguiente durante la ejecución de READ, BROWSE, EDIT, CHANGE, menús y menús contextuales definidos por el usuario. Si se está ejecutando un programa cuando se presiona la tecla o se hace clic con el mouse, se ejecutará la línea de programa actual y luego se ejecutará el comando ON KEY LABEL. Todas las asignaciones de tecla creadas en un programa permanecerán vigentes después de que se ejecute el programa. Las asignaciones de tecla ON KEY LABEL pueden crearse también en la ventana Comandos.
Para restaurar el comportamiento normal de una tecla especificada, ejecute ON KEY LABEL KeyLabelName. Para restablecer todas las teclas a su comportamiento predeterminado, ejecute ON KEY.
Sugerencia Para impedir llamadas recursivas durante la ejecución de un procedimiento ON KEY LABEL, incluya PUSH KEY CLEAR en el procedimiento para desactivar todas las instrucciones ON KEY LABEL activas. Ejecute POP KEY al final del procedimiento para activar las instrucciones ON KEY LABEL.
Las asignaciones de tecla ON KEY LABEL no estarán en vigor en las barras del menú del sistema, los cuadros de diálogos, las alertas, los menús contextuales del sistema, etc. de Visual FoxPro. Las asignaciones de tecla ON KEY LABEL son efectivas en las ventanas del sistema Visual FoxPro: el editor de texto de Visual FoxPro, la ventana Comandos, la ventana Seguimiento, etc.
A diferencia de ON KEY, puede tener múltiples comandos ON KEY LABEL activos. Por ejemplo, puede asignar un comando a cada una de las teclas de dirección y a ambos botones del mouse.
Si ejecuta ON KEY LABEL se restablece PARAMETERS( ) a 0. Para obtener más información, vea PARAMETERS( ).
Visual FoxPro no puede interceptar ciertos eventos porque están bajo el control de Windows. En particular, los comandos ON KEY LABEL MOUSE, ON KEY LABEL LEFTMOUSE y ON KEY LABEL RIGHTMOUSE se ejecutan cuando hace clic en un control de Windows como el menú Control, las barras de desplazamiento, etc. También debe observar que CTRL+0 se admite en ON KEY LABEL en Visual FoxPro, lo que le permite redefinir la combinación de teclas utilizada para escribir un valor nulo en un campo.
Observe que ON KEY LABEL funciona fuera del alcance de un formulario; se puede utilizar el evento KeyPress dentro de los formularios para ejecutar código cuando se presiona una tecla.
Ejemplo
El ejemplo siguiente muestra un mensaje cuando se presiona una tecla de dirección.
CLEAR
PUBLIC msg
msg = CHR(13) + CHR(13) + "Press F9 to " + ;
"restore default key definition."
ON KEY LABEL RIGHTARROW Wait Window "Right Arrow " + msg NOWAIT
ON KEY LABEL LEFTARROW Wait Window "Left Arrow " + msg NOWAIT
ON KEY LABEL UPARROW Wait Window "Up Arrow " + msg NOWAIT
ON KEY LABEL DNARROW Wait Window "Down Arrow " + msg NOWAIT
* Press F9 to clear the ON KEY LABEL assignments
ON KEY LABEL F9 ON KEY
Vea también
INKEY( ) | KeyPress (Evento) | ON( ) | POP KEY | PUSH KEY