Evento teclado

Me gustaría saber si conocéis algún evento que esté ligado al teclado pero que no tenga que estar relacionado a ningún objeto (formulario, textbox,...).
Mi intención es crear una clase y en ella, ¿haya una espera por teclado de cualquier tecla o del ESC. Sabéis como podría hacerlo?.

1 Respuesta

Respuesta
1
En Visual Basic hay tres eventos y una función (por lo que yo conozco) Estas son:
Eventos:
Keypress
KeyUp
KeyDown
Keypress:
Se produce cuando el usuario presiona una tecla ANSI.
Cuando un usuario mantiene presionada una tecla que genera un código de tecla ANSI, los eventos KeyDown y KeyPress se repiten alternativamente. Cuando el usuario suelta la tecla, se produce el evento KeyUp. El formulario o control, que tiene el enfoque recibe todas las pulsaciones de teclas.
Ejemplo KeyPress:
Private Sub Text1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
MsgBox("Se ha Presionado la Tecla: " & Chr(KeyAscii)
End Sub
Eventos KeyUp, KeyDown
Se producen en secuencia cuando un usuario presiona y suelta una tecla. El evento KeyDown se produce cuando el usuario presiona una tecla. El evento KeyUp se produce cuando el usuario suelta una tecla
Ejemplo:
Private Sub Text1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
MsgBox("Se Ha Soltado la Tecla"
End Sub
Ahora tenemos la función SendKey: Esta simula (por decirlo así) la pulsación de una tecla.
Ejemplo:
SendKey "AZD"
'Simula la pulsación de las teclas A, Z y D
'También se puede con las otras teclas ej:
SendKey "568"
Para las teclas que no se muestran caracteres como Esc o Enter hay que utilizar los siguientes códigos:
RETROCESO {BACKSPACE}, {BS}o {BKSP}
INTER {BREAK}
BLOQ MAYÚS {CAPSLOCK}
SUPR {DELETE} o {DEL}
FLECHA ABAJO {DOWN}
FIN {END}
ENTRAR {ENTER}o ~
ESC {ESC}
AYUDA {HELP}
INICIO {HOME}
INSERT {INSERT} o {INS}
FLECHA IZQUIERDA {LEFT}
BLOQ NÚM {NUMLOCK}
RE PÁG {PGDN}
AV PÁG {PGUP}
IMPR PANT {PRTSC}
FLECHA DERECHA {RIGHT}
BLOQ DESPL {SCROLLLOCK}
TAB {TAB}
FLECHA ARRIBA {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
Ejemplo:
Sendkey "{ESC}"
SendKey "{F1}"
Para especificar teclas con cualquier combinación de las teclas MAYUS, CTRL y ALT, introduzca delante del código de la tecla uno o más de los siguientes códigos:
MAYÚS +
CTRL (CONTROL) ^
ALT %
Ejemplo
SendKey "%{F4}"
SendKey "^N"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas