Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: E N T E R en Mayo 02, 2012, 09:34:28 pm

Título: Capturar KeyCode y enviar a otro form
Publicado 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.

Código: (VB) [Seleccionar]
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
Título: Re:Capturar KeyCode y enviar a otro form
Publicado por: seba123neo en Mayo 03, 2012, 12:50:36 am
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.

Código: (vb) [Seleccionar]
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.
Título: Re:Capturar KeyCode y enviar a otro form
Publicado por: E N T E R en Mayo 03, 2012, 12:20:34 pm
Ok, ya que no hay caso lo voy a tener que hacer asi el metodo largo  ;D ;D


Saludos gracias por responder amigo...
Título: Re:Capturar KeyCode y enviar a otro form
Publicado por: cobein en Mayo 03, 2012, 03:33:00 pm
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
Título: Re:Capturar KeyCode y enviar a otro form
Publicado por: E N T E R en Mayo 03, 2012, 05:05:36 pm
Espectacular Cobein, gracias por tu tiempo compañero

Saludos...