Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/02/2010, 12:18
zxs23
 
Fecha de Ingreso: mayo-2009
Mensajes: 238
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: Estaba haciendo esta api y no me lo hace si podes ayudar mejor

Prueba este ejemplo solo funciona cuando tienes el foco dentro del formulario.
Solo adaptalo para la tecla con la que quieras llamar a una funcion en este caso es una combinacion pero tambien sirve para 1 sola tecla.

Código:
Option Explicit
'***************************************************************************
'*  Nota: Colocar la propiedad KeyPreview del formulario en True
'***************************************************************************

'Variable booleanas para determinar si está presionadas las teclas
Dim Ctrl As Boolean, Alt As Boolean, A As Boolean

'Constantes de las teclas Alt, Ctrl y a
Private Const vbKeyA = 65
Private Const vbKeyalt = 17
Private Const vbKeyControl = 18


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

        'Verifica las teclas Alt - Ctrl y la A
        If KeyCode = vbKeyalt Then Ctrl = True
        If KeyCode = vbKeyControl Then Alt = True
        If KeyCode = vbKeyA Then A = True

        'Si las 3 variables están en True .. mostramos un mensaje
        If Ctrl And Alt And A Then
            MsgBox "Hola"
            Form_KeyUp 0, 0
        End If

End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    
    'Cuando se produce KeyUp ponemos las variables en false
    Ctrl = False
    Alt = False
    A = False

End Sub

Private Sub Form_Load()

    'Establecemos la propiedad KeyPreview para que el formulario _
    'intercepte cualquier intento de presión de tecla

    Me.KeyPreview = True

    Me.Caption = " Ejemplo de  combinación de teclas "

    MsgBox " Presiona las teclas Ctrl+Alt+a", vbInformation

End Sub