Eventos KeyDown, KeyUp
Ocurren en secuencia cuando un usuario presiona y suelta una tecla. KeyDown ocurre cuando el usuario presiona una tecla. KeyUp ocurre cuando el usuario suelta una tecla.
Sintaxis
Objeto Private Sub_KeyDown( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
Objeto Private Sub_KeyUp( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
La sintaxis de los eventos KeyDown y KeyUp consta de las partes siguientes:
Parte | Descripción |
---|---|
object | Obligatorio. Un nombre de objeto válido. |
KeyCode | Obligatorio. Un entero que representa el código de la tecla que se presionó o soltó. |
Shift | Obligatorio. El estado de MAYÚS, CTRL y ALT. |
Configuración
Los valores de configuración de Shift son:
Constante | Valor | Descripción |
---|---|---|
fmShiftMask | 1 | Se presionó la tecla MAYÚS. |
fmCtrlMask | 2 | Se presionó la tecla CTRL. |
fmAltMask | 4 | Se presionó la tecla ALT. |
Observaciones
El evento KeyDown ocurre cuando el usuario presiona una tecla en un formulario que se está ejecutando mientras que ese formulario o uno de sus controles tienen el foco. Los eventos KeyDown y KeyPress se alternan repetidamente hasta que el usuario suelta la tecla, momento en el que ocurre el evento KeyUp. El formulario o control que tiene el foco recibe todas las pulsaciones de teclas. Un formulario solamente puede tener el foco si no dispone de controles o si todos sus controles visibles están deshabilitados.
Estos eventos también se producen si se envía una pulsación de tecla a un formulario o control mediante la acción SendKeys en una macro o la instrucción SendKeys en Visual Basic.
Generalmente, los eventos KeyDown y KeyUp se usan para reconocer o diferenciar entre:
Teclas de carácter ampliados, como teclas de función.
Teclas de navegación como Inicio, Fin, Re Pág, Av Pág, flecha arriba, flecha abajo, flecha derecha, flecha izquierda y TAB.
Combinaciones de teclas y modificadores de teclado estándar (Mayús, CTRL o ALT).
El teclado numérico y las teclas de números del teclado.
Los eventos KeyDown y KeyUp no se producen en las siguientes circunstancias:
El usuario presiona Entrar en un formulario con un botón de comando cuya propiedad Default está establecida en True.
El usuario presiona Esc en un formulario con un botón de comando cuya propiedad Cancel está establecida en True.
Los eventos KeyDown y KeyPress ocurren cuando se presiona o se envía una tecla ANSI. El evento KeyUp ocurre después de cualquier evento para un control causado al presionar o enviar la tecla. Si una pulsación de tecla provoca que el foco pase de un control a otro, el evento KeyDown ocurre para el primer control, mientras que los eventos KeyPress y KeyUp ocurren para el segundo control.
La secuencia de eventos relativos al teclado es:
- KeyDown
- KeyPress
- KeyUp
Nota:
[!NOTA] Los eventos KeyDown y KeyUp se aplican únicamente a formularios y controles de un formulario. Para interpretar caracteres ANSI o buscar el carácter ANSI que se corresponde con la tecla presionada, use el evento KeyPress.
Vea también
- Constantes de código de clave
- ejemplos de Microsoft Forms
- Referencia de Microsoft Forms
- conceptos de Microsoft Forms
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.