Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

KeyCode

Estas en el tema de KeyCode en el foro de Visual Basic clásico en Foros del Web. Hola Estoy realizando una aplicación que recoge pulsaciones del teclado, lo hago mediante el evento KeyPress con esta sentencia: If KeyAscii = Asc("}") then .... ...
  #1 (permalink)  
Antiguo 22/10/2008, 04:15
 
Fecha de Ingreso: octubre-2006
Mensajes: 139
Antigüedad: 17 años, 6 meses
Puntos: 1
KeyCode

Hola Estoy realizando una aplicación que recoge pulsaciones del teclado, lo hago mediante el evento KeyPress con esta sentencia:

If KeyAscii = Asc("}") then ....

Pero me gustaría más con el evento KeyUp. Alguien conoce el número de código de este caracter }

If KeyCode = ?? Then

Desde ya gracias
  #2 (permalink)  
Antiguo 22/10/2008, 04:27
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: KeyCode

Cita:
Iniciado por DIDAKE Ver Mensaje
Hola Estoy realizando una aplicación que recoge pulsaciones del teclado, lo hago mediante el evento KeyPress con esta sentencia:

If KeyAscii = Asc("}") then ....

Pero me gustaría más con el evento KeyUp. Alguien conoce el número de código de este caracter }

If KeyCode = ?? Then

Desde ya gracias
Es el código 191

para saber el código de tecla:

Código:
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
MsgBox KeyCode
End Sub
  #3 (permalink)  
Antiguo 22/10/2008, 06:14
 
Fecha de Ingreso: octubre-2006
Mensajes: 139
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: KeyCode

Avellaneda :
Gracias por responderme.
¿Pude ser que el caracter ç (cedilla) tenga el mismo código?
En mi teclado una tecla del mismo tiene ambos caracteres impresos sobre ella, la cuestión es que en mi teclado al pulsar esa tecla aparece ç (cedilla) mientras que en el equipo del cliente aparece } (llave) y el programa no respondió a ese caracter.

Abrí un Block de Notas y noté en el equipo del cliente que al pulsar la tecla aparecía } la llave en cuestión , como si previo a pulsar la tecla pulsara "Alt Gr"

Última edición por DIDAKE; 22/10/2008 a las 06:23
  #4 (permalink)  
Antiguo 22/10/2008, 07:21
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: KeyCode

Cita:
Iniciado por DIDAKE Ver Mensaje
Avellaneda :
Gracias por responderme.
¿Pude ser que el caracter ç (cedilla) tenga el mismo código?
En mi teclado una tecla del mismo tiene ambos caracteres impresos sobre ella, la cuestión es que en mi teclado al pulsar esa tecla aparece ç (cedilla) mientras que en el equipo del cliente aparece } (llave) y el programa no respondió a ese caracter.

Abrí un Block de Notas y noté en el equipo del cliente que al pulsar la tecla aparecía } la llave en cuestión , como si previo a pulsar la tecla pulsara "Alt Gr"
Bueno, ambas tienen el mismo código de tecla (pues es la misma tecla) pero lo puedes controlar con el parámtro Shift:

Código:
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = 191 And Shift = 0 Then
    MsgBox "has pulsado ç"
Else
    MsgBox "has pulsado }"
End If
End Sub
  #5 (permalink)  
Antiguo 23/10/2008, 11:40
Avatar de Laforge  
Fecha de Ingreso: noviembre-2004
Ubicación: Galaxia 34, Cuadrante 972, Área 31
Mensajes: 174
Antigüedad: 19 años, 6 meses
Puntos: 2
Respuesta: KeyCode

si shift está pulsado: shift = 1
si ctrl está pulsado: shift = 2
si alt está pulsado shift = 4

para conocer combinaciones de estas, solo es necesario combinar la suma de valores:
shift + alt = 1 + 4 -> shift = 5
shift + ctrl = 1 + 2 -> shift = 3
alt + ctrl = 4 + 2 -> shift = 6
shift + ctrl + alt = 1 + 2 + 4 -> shift = 7
altgr = alt+ ctrl

Saludos
__________________
Nunca esperes un mejor momento para abrir esa botella de vino...........nunca llega.

No hay vida después de MySQL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:19.