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