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

Detectar pulsación de taclas en .NET

Estas en el tema de Detectar pulsación de taclas en .NET en el foro de Visual Basic clásico en Foros del Web. Hola a todos, Espero que alguien pueda ayudarme. Estoy iniciando con esto del Vb .Net y lo que intento hacer, es una aplicación la cual ...
  #1 (permalink)  
Antiguo 21/03/2006, 16:00
Avatar de Skalitiko  
Fecha de Ingreso: febrero-2005
Mensajes: 81
Antigüedad: 19 años, 2 meses
Puntos: 0
Detectar pulsación de taclas en .NET

Hola a todos,

Espero que alguien pueda ayudarme.

Estoy iniciando con esto del Vb .Net y lo que intento hacer, es una aplicación la cual tiene un formulario que contiene opciones de menú oculto en la parte superior central de la pantalla, la idea es que cuando yo pase el puntero del mouse entre el espacio que ocupa este formulario, este aparezca, pero siempre y cuando al mismo tiempo se este presionando la tecla ALT.

Lo de cuando el mouse entra en el espacio que utiliza el formulario ya lo soluciones, pero no se como hacer para capturar si esta o no pulsada la tecla ALT.

De antemano muchas gracias
  #2 (permalink)  
Antiguo 22/03/2006, 11:00
Avatar de Skalitiko  
Fecha de Ingreso: febrero-2005
Mensajes: 81
Antigüedad: 19 años, 2 meses
Puntos: 0
Solución

Ya encontre una solución, la voy a postear por si a alguíen más le interesa:

La solución esta en utilizar la siguiente delaración API:

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

Con esto puedo saber una tecla x esta pulsada.

En un timer

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim Ret as Long
If Cursor.Position.X >= Me.Left And Cursor.Position.X <= (Me.Left + Me.Width) And Cursor.Position.Y >= 0 And Cursor.Position.Y <= Me.Button1.Height Then
' Si el puntero del mouse se encuentra entre el espacio que ocupa el form estando visible, comprueba si se encuentra pulsada la tecla ALT
Ret = GetKeyState(18)
If Ret = -128 or Ret = -127 Then
'si GetKeyState retorna -128 o -127 quiere decir que la tecla alta esta pulsada el valor que resive GetKeyState es el valor ascii de la tecla
Me.Visible = True
End If

Else

If Me.Visible = True Then Me.Visible = False

End If
End Sub
  #3 (permalink)  
Antiguo 26/09/2006, 17:39
Avatar de mackbeth  
Fecha de Ingreso: noviembre-2005
Mensajes: 370
Antigüedad: 18 años, 5 meses
Puntos: 10
no te compliques tanto la vida hermano, en .NET esta ya casi todo hecho, ya has intentado con los manejadores de eventos?? utiliza la variable e
que esta como defecto en los parametros de evento, lo puedes usar cuando tu quieras, si tienes dudas, postealas, te ayudare en lo que mas pueda ok??
__________________
«~MaGax3iNeMD~»
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 02:43.