Je travaille sur le projet VB6 où j'ai besoin de raccourcis clavier pour les boutons du contrôle de barre d'outils. Pour ce faire, j'ai utilisé la bibliothèque Win32 Hooks de vbAccelerator. Voici ma fonction IWindowsHook_HookProc
, que j'utilise pour récupérer les touches & effectuer une action basée sur raccourci pressé (Ctrl + N pour New, Ctrl + O pour Open et Ctrl + S pour Save), mais je ne sais pas quel est le problème avec le code qui bloque mon application avec VB6 IDE. La fonction est actuellement incomplète car j'ai juste essayé d'identifier la combinaison de touches "Ctrl + N" pour tester cette fonctionnalité. S'il vous plaît aidez-moi ...: - |Utilisation de vbAccelarator Win32 Hook bloque l'application avec VB IDE
Private Function IWindowsHook_HookProc(ByVal eType As EHTHookTypeConstants, ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long, bConsume As Boolean) As Long
If KeyboardlParam(lParam).KeyDown Then
Select Case True
Case Me.ActiveControl = Me
If wParam = vbKeyControl + vbKeyN Then
frmNewReport.show
bConsume = True
End If
End Select
End If
Merci pour la réponse, je dois télécharger la source complète de vbAccerator qui démontre l'utilisation de crochets de clavier, dans ce projet crochets sont mises en évidence à l'aide des commandes standard. Par exemple; Une boîte de texte est donnée sur le formulaire, comme un comportement normal, en appuyant sur un onglet après la mise au point le contrôle se concentrera sur le contrôle suivant, mais avec l'aide de Hook, lorsque Tab est pressé, le texte de la zone de texte est tabulé comme n'importe quel traitement de texte. J'ai utilisé une logique similaire, mais avec le contrôle de la barre d'outils, et comme mon formulaire MDI principal n'a pas besoin de barre de menu, j'ai besoin de raccourcis pour les boutons de la barre d'outils uniquement. – Kushal