U događaja Keydown pomoću parametra Shift možeš da odrediš da li je pritisnut taster Shift, Alt ili Ctrl
Code:
' Bit maske se koriste da se odredi da li je pritisnuto Shift, Alt ili CTRL
intShiftDown = (Shift And fmShiftMask) > 0 ' Pritisnut Shift
intAltDown = (Shift And fmAltMask) > 0 ' Pritisnut Alt
intCtrlDown = (Shift And fmCtrlMask) > 0 ' Pritisnut Ctrl
Međutim, pošto Keydown reguje na ove tastere, pomoću njega (koliko je meni poznato) nije moguće obraditi tasterske kombinacije. Za to se može iskoristi događaj Keypress.
Dakle u Keydown događaju stavi na početku da se ispita da li je pritisnuto CTRL i ako se utvrdi da je pritisnut Ctrl preskoči se ostatak koda.
Code:
If intCtrlDown Then GoTo Kraj ' Preskoci ako je pritisnut CTRL
. . .
Kraj:
Onda u događaju KeyPress koji se dešava posle KeyDown obradi tastersku kombinaciju CTRL+Enter. Kod ove kombinacije je 10.
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 10 Then
MsgBox "Pritisnuta je tasterska kombinacija CTRL + Enter."
End If
End Sub
Nije to loše Rembrante, samo što ne bi dodao još malo boje?