1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
'Ajouter cette sub dans le code de la form pour gérer le clavier au lieu d'utiliser les événements .KeyPress / .KeyUp / .KeyDown des contrôles :
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
Dim e As MouseEventArgs
Dim X As Integer, Y As Integer
Select Case keyData
Case CType(Keys.PageUp + Keys.Shift, Keys), Keys.NumPad9
X = ImgXY.Left + ImgXY.Width \ 2
Y = ImgXY.Top + ImgXY.Height \ 2
e = New MouseEventArgs(Windows.Forms.MouseButtons.None, 0, X, Y, 100)
Me.OnMouseWheel(e)
Return True
Case CType(Keys.PageDown + Keys.Shift, Keys), Keys.NumPad3
X = ImgXY.Left + ImgXY.Width \ 2
Y = ImgXY.Top + ImgXY.Height \ 2
e = New MouseEventArgs(Windows.Forms.MouseButtons.None, 0, X, Y, -100)
Me.OnMouseWheel(e)
Return True
Case Keys.Escape
Me.Hide()
Return True
Case Keys.Subtract, Keys.OemMinus
Call CoucheMoins()
Return True
Case Keys.Add, Keys.Oemplus
Call CouchePlus()
Return True
Case Keys.Down
Call CoucheMoins()
Return True
Case Keys.Up
Call CouchePlus()
Return True
Case Keys.Left
Call PhaseMoins()
Return True
Case Keys.Right
Call PhasePlus()
Return True
Case Keys.PageUp
Call FichierPlus()
Return True
Case Keys.PageDown
Call FichierMoins()
Return True
End Select
'Ici la touche tapée n'a pas été capturée, elle est renvoyée vers la fenêtre pour un usage normal du clavier :
Return MyBase.ProcessCmdKey(msg, keyData)
End Function |
Partager