Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: E N T E R en Mayo 02, 2012, 09:34:28 pm
-
Hola compañeros, tengo un problemita con el KeyCode. Quiero capturar la tecla que aprieto y mandar a otro form con las teclas de A a la Z y los numeros de arriba no tengo problema. El problema es con los KeyNumpad me trae letras en ves de numero.
Este es mi codigo.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case 48 To 57 'Es un número 0 -> 9
Form2.txtBuscar = Chr(KeyCode)
Call BUSCAR_ARTICULOS
Case 65 To 90 'Es letra de la aA -> zZ
Form2.txtBuscar = LCase(Chr(KeyCode))
Call BUSCAR_ARTICULOS
Case 96 To 105 'Es un número KeyNumpad -> 0-9
Form2.txtBuscar = Chr(KeyCode)
Call BUSCAR_ARTICULOS
End Select
End Sub
-
lo que pasa es que ese rango de 96 a 105 le pertenece a las letras minusculas.
lo que esta mal ahi, es que convertis a "caracter" el KeyCode que te viene, que a veces nada tiene que ver realmente con la tecla pulsada. para solucionar eso de manera facil necesitas manejar cada tecla por separado, y dejar de guiarte por el caracter al cual lo convertis.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyNumpad1
MsgBox "1"
Case vbKeyNumpad2
MsgBox "2"
Case vbKeyNumpad3
MsgBox "3"
Case vbKeyNumpad4
MsgBox "4"
Case vbKeyNumpad5
MsgBox "5"
Case vbKeyNumpad6
MsgBox "6"
Case vbKeyNumpad7
MsgBox "7"
Case vbKeyNumpad8
MsgBox "8"
Case vbKeyNumpad9
MsgBox "9"
Case vbKeyMultiply
MsgBox "*"
Case vbKeyAdd
MsgBox "+"
Case vbKeySeparator
MsgBox "-"
End Select
End Sub]
saludos.
-
Ok, ya que no hay caso lo voy a tener que hacer asi el metodo largo ;D ;D
Saludos gracias por responder amigo...
-
Estaba el pepe total asi que arme un ejemplo de como forwardear el teclado de un form a otro
http://www.2shared.com/file/NC9x8E5U/ForwardKeyboard.html
-
Espectacular Cobein, gracias por tu tiempo compañero
Saludos...