Ctrl+g en formulario

Necesito que al estar posicionado en cualquier parte de un formulario, al presionar Control+G este haga alguna accion (en este caso Guardar)... Me imagino que puede hacerse llamando a un procedimiento en cada uno de los text y combos del formulario en el que se haga un "if" preguntando si se presiona esa combinacion. Pero no se como detectar eso, no conozco el codigo ascii para esa combinacion (si es que existe)...

1 respuesta

Respuesta
2
Este es el codigo que utilizo para usar las teclas f3 para llamar a otro formulario en este caso
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF4
Form12.Show
Form12.txtfactura.SetFocus
Form15.Hide
Case vbKeyF7
Form33.Show
Case vbKeyF5
Form42.Show
Case vbKeyF6
Form43.Show
End Select
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
ShiftDown = (Shift And vbShiftMask) > 0
AltDown = (Shift And vbAltMask) > 0
CtrlDown = (Shift And vbCtrlMask) > 0
'........................................
Select Case Indice
Case 0
Cadena = vbKeyF1
Case 1
Cadena = vbKeyF2
Case 2
Cadena = vbKeyF3
Case 3
Cadena = vbKeyF4
Case 4
Cadena = vbKeyF5
Case 5
Cadena = vbKeyF6
Case 6
Cadena = vbKeyF7
Case 7
Cadena = vbKeyF8
Case 8
Cadena = vbKeyF9
Case 9
Cadena = vbKeyF10
Case 10
Cadena = vbKeyF11
Case 11
Cadena = vbKeyF12
End Select
If KeyCode = Cadena Then '´ Display key combinations.
If ShiftDown And CtrlDown And AltDown Then
Txt = "SHIFT+CTRL+ALT+F" & Indice + 1 & "."
ElseIf ShiftDown And AltDown Then
Txt = "SHIFT+ALT+F" & Indice + 1 & "."
ElseIf ShiftDown And CtrlDown Then
Txt = "SHIFT+CTRL+F" & Indice + 1 & "."
ElseIf CtrlDown And AltDown Then
Txt = "CTRL+ALT+F" & Indice + 1 & "."
ElseIf ShiftDown Then
Txt = "SHIFT+F" & Indice + 1 & "."
ElseIf CtrlDown Then
Txt = "CTRL+F" & Indice + 1 & "."
ElseIf AltDown Then
Txt = "ALT+F" & Indice + 1 & "."
ElseIf Shift = 0 Then
Txt = "F" & Indice + 1 & "."
End If
Text1.Text = "Has pulsado " & Txt
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas