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

Acción al presionar la tecla b

Estas en el tema de Acción al presionar la tecla b en el foro de Visual Basic clásico en Foros del Web. Hola tengo un problemita resulta que necesito que al precionar la tecla b en un formulario se ejecute una accion. y tengo el siguiente codigo ...
  #1 (permalink)  
Antiguo 31/10/2008, 05:53
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 5 meses
Puntos: 3
Acción al presionar la tecla b

Hola tengo un problemita
resulta que necesito que al precionar la tecla b
en un formulario se ejecute una accion.

y tengo el siguiente codigo pero pasa que lo toma para todo
por ejemplo estoy en el messenger y oprimo b
y se ejecuta entonces necesito q solo sea en la aplicacion
y de una vez ver si se puede sacar del timer.


Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Private Sub Timer11_Timer()
If GetKeyState(vbKeyB) < 0 Then
Form5.Show
End If
End Sub
  #2 (permalink)  
Antiguo 31/10/2008, 06:40
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: Acción al presionar la tecla b

Cita:
Iniciado por ..::MaRcOs::.. Ver Mensaje
Hola tengo un problemita
resulta que necesito que al precionar la tecla b
en un formulario se ejecute una accion.

y tengo el siguiente codigo pero pasa que lo toma para todo
por ejemplo estoy en el messenger y oprimo b
y se ejecuta entonces necesito q solo sea en la aplicacion
y de una vez ver si se puede sacar del timer.


Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

Private Sub Timer11_Timer()
If GetKeyState(vbKeyB) < 0 Then
Form5.Show
End If
End Sub
Hola, creo que es mas sencillo sin APIs

Propiedad KeyPreview del Form = True:

Código:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyB Then
    Form5.Show
End If
End Sub
  #3 (permalink)  
Antiguo 31/10/2008, 06:45
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Acción al presionar la tecla b

gracias por responder
lo acabo de probar y no me funciona :(
que mas puedo hacer?
  #4 (permalink)  
Antiguo 31/10/2008, 06:58
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: Acción al presionar la tecla b

Cita:
Iniciado por ..::MaRcOs::.. Ver Mensaje
gracias por responder
lo acabo de probar y no me funciona :(
que mas puedo hacer?
Le pusiste al Form desde el que llamas a Form5 la propiedad KeyPreview a True y quitaste el timer?

  #5 (permalink)  
Antiguo 31/10/2008, 07:12
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Acción al presionar la tecla b

uppsss se me paso lo del Form1.KeyPreview = True
ya lo puse y corre perfecto muchisimas gracias
y me gusto poder eliminar el timer por q lo tenia
con intervalo a 1 y no se pero no me generaba confianza
ademas de el problema q se activaba estando minimizado
  #6 (permalink)  
Antiguo 15/11/2009, 16:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Acción al presionar la tecla b

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola, creo que es mas sencillo sin APIs

Propiedad KeyPreview del Form = True:

Código:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyB Then
    Form5.Show
End If
End Sub
ola yo use tu codigo pero en visual basic 2008 no funciona y tampoco es k me tire algun error de redaccion sino que simplemente no pasa nada ????

k otra forma puedo usar para ejecutar una accion al presionar una tecla ???
  #7 (permalink)  
Antiguo 16/11/2009, 04:27
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: Acción al presionar la tecla b

Prueba así:

Código :
Ver original
  1. Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
  2. If e.KeyCode = Keys.B Then
  3.     Form5.Show
  4. End If
  5. End Sub

Si tu form1 no se llama form1 cambia la declaracion.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!

Última edición por pkj; 16/11/2009 a las 04:31 Razón: corregir
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 04:43.