Autor Tema: Capturar KeyCode y enviar a otro form  (Leído 2768 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Capturar KeyCode y enviar a otro form
« 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
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Capturar KeyCode y enviar a otro form
« Respuesta #1 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.
« última modificación: Mayo 03, 2012, 12:52:23 am por seba123neo »

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Capturar KeyCode y enviar a otro form
« Respuesta #2 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...
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

cobein

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 348
  • Reputación: +63/-0
  • Más Argentino que el morcipan
    • Ver Perfil
Re:Capturar KeyCode y enviar a otro form
« Respuesta #3 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

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Capturar KeyCode y enviar a otro form
« Respuesta #4 en: Mayo 03, 2012, 05:05:36 pm »
Espectacular Cobein, gracias por tu tiempo compañero

Saludos...
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo