Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: rubeng en 24 Mayo 2006, 03:35 am



Título: Combinacion de teclas a funcion
Publicado por: rubeng en 24 Mayo 2006, 03:35 am
hola una pregunta queria saber como se le puede asignar una combinacion de teclas o una tecla a un command button.
salu2


Título: Re: Combinacion de teclas a funcion
Publicado por: JuszR en 24 Mayo 2006, 03:40 am
Si le pones en el caption "&Aceptar", la tecla rápida sería Alt + A. ;)


Título: Re: Combinacion de teclas a funcion
Publicado por: rubeng en 24 Mayo 2006, 18:32 pm
y como asigno otra tecla que no se la combinacion alt a? y este simbolo que representa &?


Título: Re: Combinacion de teclas a funcion
Publicado por: _Sergi_ en 24 Mayo 2006, 19:53 pm
Lo que dices X.Cyclop es que hagas una tecla de acceso directo, que es ALT + &, siendo este símbolo uno de los caracteres de la caption del botón. P.ej:

Código:
Command1.Caption = "Hol&a"
ALT + A lanzará el Command1_Click ()

Command2.Caption = "Ho&la"
ALT + L lanzará el Command2_Click ()
Pero como eso probablemente no te sirva, podrías leer lo que devuelva el evento KeyPress o KeyDown del elemento X (X puede ser un Form, un commandbutton........) . Sin embargo, esto me parece estúpido porque sólo podrias saber si el usuario ha pulsado esa secuencia si tiene el foco en el elemento X. Asi que eso tampoco te sirve.

Lo que si te servirá es usar GetAsyncKeyState, (como siempre lo mejor es que uses APIs para estas cosas xD). Es sencillísimo. Mira el ejemplo

Código:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Const VK_F3 = &H72

Private Sub tmrCapture_Timer()
If GetAsyncKeyState(VK_F3) Then MsgBox "¡Pulsaste F3!"
End Sub

Saludos


Título: Re: Combinacion de teclas a funcion
Publicado por: rubeng en 25 Mayo 2006, 02:54 am
muchisimas gracias sergi.