Combinacion de teclas a funcion

Iniciado por rubeng, 24 Mayo 2006, 03:35 AM

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

rubeng

hola una pregunta queria saber como se le puede asignar una combinacion de teclas o una tecla a un command button.
salu2

JuszR

Si le pones en el caption "&Aceptar", la tecla rápida sería Alt + A. ;)
- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]

rubeng

y como asigno otra tecla que no se la combinacion alt a? y este simbolo que representa &?

_Sergi_

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:

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


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
Proyecto de Ingeniero

rubeng