Título: Controlar Key press Publicado por: TheGhost(Z) en 21 Febrero 2006, 11:59 am Hola. Si alguie sabe cual el código asccii de las teclas:
Spr: Flecha Abajo: Flecha Izquierda: Flecha derecha: Flecha Arriba: Ejemplos: Enter: = 13 Esc: = 27 Borrar atras: = 8 Saludos Título: Re: Controlar Key press Publicado por: Magic_Key en 21 Febrero 2006, 15:11 pm no te lo dire, pero te enseñare como lo puedes sacar:
si abres un nuevo projecto y le agregas un label, y en el evento Keydown del formulario pones esto: Código: label1.caption = keycode salu2 ;) Título: Re: Controlar Key press Publicado por: Ironhorse en 21 Febrero 2006, 19:02 pm Existen constantes con nombres representativos:
vbKeyLeft : FLECHA IZQUIERDA vbKeyUp : FLECHA ARRIBA vbKeyRight : FLECHA DERECHA vbKeyDown : FLECHA ABAJO Hay para todas las teclas. Título: Re: Controlar Key press Publicado por: TheGhost(Z) en 22 Febrero 2006, 10:01 am Entiendo..
Estaba haciendo algo similar a lo que me propsurtiste tel Código: label1.caption = keycode Y no me salía, porque yo lo ponía en el evento keypress y mandaba el keyasciii en label1. el alfabeto si salía, pero las teclas que lo necesitaba no salia.. y he aqui con lo queme propusiste.. Spr: = 46 Flecha Abajo:= 40 Flecha Izquierda: = 37 Flecha derecha: = 39 Flecha Arriba: = 38 Ejemplos: Enter: = 13 Esc: = 27 Borrar atras: = 8 Gracias por el Aporte a ambos!!. Título: Re: Controlar Key press Publicado por: [VolkS] en 23 Febrero 2006, 21:16 pm Te conviene usar alguna de estas dos Api's.
Public Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal nVirtKey As Long) As Integer Para saber cual tecla es presionada. por Ej: If GetKeyState(VbKeyF5) <0 Then 'La accion que queres que haga por ej:"label1.caption ="hola" else End If Esa Api solo funciona para windows 2000 en adelante. Y sino: Public Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer Funciona en todos los windows pero no toma todas las teclas. Título: Re: Controlar Key press Publicado por: TheGhost(Z) en 25 Febrero 2006, 10:29 am Pues me imagino que los Asciis que apunte mas arriba son las correctas:
Tengo Text1 y Text2 Cuado el foco esta en Text1 al precionar flecha abajo deberia irse al Text2. Y cuando estoy en el Text2 al precionar la flecha arriba deberia irse al Text1: Código: Private Sub Text1_KeyPress(KeyAscii As Integer) Tambien probe con: Código: Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer) Tambien intente com... Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer) If vbKeyUp Then Text1.SetFocus End Sub AL precionar las teclas Arriba y Abjo funcionada.. ;) .. pero al ingrsar los numeros tambien :# ??.. osea no sirve.. Favor si alguien tuvo un problema similar me pueda guiar..... Tengo unas cuantso textbox en un form y lo que quiero es desplazarmen entre ellas con las Flechas: arriba, abajo, izquierda y derecha... ya que con el Enter solo siver para una opcion... Saludos.. Título: Re: Controlar Key press Publicado por: ReViJa en 25 Febrero 2006, 12:04 pm Me da la impresión de que te has hecho un lio...
Mira: Código: Private Sub Text1_Keydown(Keycode As Integer, shift As Integer) En el primer case al ser el primer objeto que toma el foco y no tener otro por encima, no hace falta que le pongas vbkeyup para que se tome el foco puesto que ya lo tiene, lo he dejado para que te hagas una idea de como van el resto de txt y poder tenerlos controlados con las flechas. Con la funcion SelStart=0 si hay texto introducido toma el foco en la posicion 0 (en el principio) por si te es de utilidad. Código: Private Sub Text1_Keydown(Keycode As Integer, shift As Integer) Un saludo. Título: Re: Controlar Key press Publicado por: TheGhost(Z) en 25 Febrero 2006, 13:36 pm Gracias Tesis. ya no tengo problemas con las Flechas direccionales...
|