begin process at 2012 02 17 08:44:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > AJOUTER N'IMPORTE QUEL RACCOURCI À VOS MENUS (HOOK CLAVIER)

AJOUTER N'IMPORTE QUEL RACCOURCI À VOS MENUS (HOOK CLAVIER)


 Information sur la source

Note :
Aucune note
Catégorie :Formulaire Classé sous :shortcut, raccourci, hook, clavier, menu Niveau :Expert Date de création :06/08/2008 Date de mise à jour :07/08/2008 20:16:55 Vu / téléchargé :4 960 / 469

Auteur : violent_ken

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Salut,

Alors cette source permet d'ajouter à n'importe quel menu standard de VB n'importe quel raccourci personnalisé.

Utile dans pleins de cas, parce que les raccourcis qui sont permis par VB sont très très limités !!


Dans cet exemple, il est possible de définir des raccourcis de type :
Ctrl ET/OU Shift ET/OU Alt ET Touche
Touche peut être A,B,C...,F1,F2,Tab,Left,Fin,Suppr...
N'importe quelle touche quoi !


Vous pouvez donc définir des raccourcis de type :
Alt + Flèche gauche
Ctrl + Shift + Tab
F12
Shift + A
... etc


A (éventuellement) adapter pour plus de possibilités (mais je crois que c'est AMPLEMENT suffisant).


Enjoy !!!!!

Note : j'ai fait çà à l'arrache ce soir, peut être qu'il y a des erreurs :-)
Note 2 : utilisation d'interfaces, donc peut être pas super optimisé car je suis pas expert là dedans ^^
Note 3 : j'ai pas cherché si çà existait déjà, désolé si c'est le cas... mais çà m'étonnerait :-)
@+

Source

  • ' A mettre en début de Form
  • Implements IShortCut
  • Private Sub AddShortCuts()
  • ' Ajout des raccourcis
  • Call AddShortcutToMenu("Open", Me.mnuOpen, "Ctrl+Shift+O", Me, vbCtrlMask, vbShiftMask, vbKeyO)
  • Call AddShortcutToMenu("Previous", Me.mnuPrev, "Alt+Flèche gauche", Me, vbAltMask, , vbKeyLeft)
  • Call AddShortcutToMenu("Next", Me.mnuNext, "Alt+Flèche droite", Me, vbAltMask, , vbKeyRight)
  • Call AddShortcutToMenu("About", Me.mnuAbout, "Ctrl+Alt+F1", Me, vbCtrlMask, vbAltMask, vbKeyF1)
  • Call AddShortcutToMenu("Save", Me.mnuSave, "Shift+S", Me, vbShiftMask, , vbKeyS)
  • Call AddShortcutToMenu("Topic", Me.mnuTopic, "F1", Me, , , vbKeyF1)
  • Call AddShortcutToMenu("Close", Me.mnuClose, "Alt+F4", Me, vbAltMask, , vbKeyF4)
  • End Sub
  • ' C'est ici que l'on récupère les activations des raccourcis
  • Private Sub IShortCut_ShortCutActivated(shortcutTag As String)
  • Select Case shortcutTag
  • Case "Open"
  • Call mnuOpen_Click
  • Case "Next"
  • Call mnuNext_Click
  • Case "Previous"
  • Call mnuPrev_Click
  • Case "About"
  • Call mnuAbout_Click
  • Case "Save"
  • Call mnuSave_Click
  • Case "Topic"
  • Call mnuTopic_Click
  • Case "Close"
  • Call mnuClose_Click
  • End Select
  • End Sub
' A mettre en début de Form
Implements IShortCut



Private Sub AddShortCuts()
    ' Ajout des raccourcis
    Call AddShortcutToMenu("Open", Me.mnuOpen, "Ctrl+Shift+O", Me, vbCtrlMask, vbShiftMask, vbKeyO)
    Call AddShortcutToMenu("Previous", Me.mnuPrev, "Alt+Flèche gauche", Me, vbAltMask, , vbKeyLeft)
    Call AddShortcutToMenu("Next", Me.mnuNext, "Alt+Flèche droite", Me, vbAltMask, , vbKeyRight)
    Call AddShortcutToMenu("About", Me.mnuAbout, "Ctrl+Alt+F1", Me, vbCtrlMask, vbAltMask, vbKeyF1)
    Call AddShortcutToMenu("Save", Me.mnuSave, "Shift+S", Me, vbShiftMask, , vbKeyS)
    Call AddShortcutToMenu("Topic", Me.mnuTopic, "F1", Me, , , vbKeyF1)
    Call AddShortcutToMenu("Close", Me.mnuClose, "Alt+F4", Me, vbAltMask, , vbKeyF4)
End Sub




' C'est ici que l'on récupère les activations des raccourcis
Private Sub IShortCut_ShortCutActivated(shortcutTag As String)

    Select Case shortcutTag
        Case "Open"
            Call mnuOpen_Click
        Case "Next"
            Call mnuNext_Click
        Case "Previous"
            Call mnuPrev_Click
        Case "About"
            Call mnuAbout_Click
        Case "Save"
            Call mnuSave_Click
        Case "Topic"
            Call mnuTopic_Click
        Case "Close"
            Call mnuClose_Click
    End Select
    
End Sub

 Conclusion

Et voilà !

Commentaires, notes, critiques sont les bienvenus.
@+

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

07 août 2008 20:16:55 :
Fixed a bug ("primary key" wasn't good defined) + added GetForegroundWindow call to check our form has the focus /////// corrigé un bug (la clé primaire était mal définie) + ajouté appel à GetForegroundWindow pour vérifier que notre form a le focus

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) UTILITAIRE DE SANITIZATION DES DISQUES DURS/FICHIERS (SUPPRE...
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLE SHUTDOWN SCHEDULER : ARRÊTS PLANIFIÉS (LOCAL OU REMOT...
Source avec Zip Source .NET (Dotnet) COMMENT DÉMARRER UN PROCESSUS SUR PC DISTANT DE MANIÈRE CACH...
Source avec Zip Source avec une capture Source .NET (Dotnet) YET ANOTHER (REMOTE) PROCESS MONITOR
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMENT DÉTECTER LES PROCESSUS CACHÉS (VIRUS, ROOTKITS...) +...

 Sources de la même categorie

Source avec Zip GEST COTISATION - ASSOCIATION par MOHA555
Source avec Zip HSCROLLBAR POUR L'ARRIÈRE PLAN par 320C
Source avec Zip Source avec une capture Source .NET (Dotnet) METTRE VOTRE FORM VB.NET EN PLEINE ÉCRAN par Gabilach
RECHERCHE DANS UNE LISTE À PARTIR D'UN CHAMP TEXTE par jmeunier
Source avec Zip GESTION DES COMSOMMABLE par gboraud

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture AGITATOR - MACRO UNIVERSELLE par exode42
Source avec Zip INTERCEPTER L'APPUI DE TOUCHES AU NIVEAU SYSTÈME par Fixnyl
Source avec Zip Source avec une capture Source .NET (Dotnet) HOOK : PB DE COMPATIBILITÉ .NET 1.1 ET 2.0 par TeBeCo
Source avec Zip Source avec une capture HOOK ET BOQUAGE DE KEYSTROKES (SÉQUENCE DE TOUCHES CLAVIER) par ym_trainz
Source avec Zip Source avec une capture Source .NET (Dotnet) TROUVER LE FICHIER LIÉ À UN RACCOURCI par frank150

Commentaires et avis

Commentaire de violent_ken le 06/08/2008 23:58:00

Bon, je me rend compte que j'ai oublié un truc : vérifier que la form est active avant de valider le raccourci.

Manque juste un appel à une fonction de l'API Win32 et un test dans la méthode KeyboardFilter.


J'avais pas vu çà non plus http://www.vbfrance.com/codes/EVENEMENT-RACCOURCIS-CLAVIER_7330.aspx ,Renfield a décidément codé beaucoup de chose ^^
M'enfin, la méthode est différente.

@+

Commentaire de ghuysmans99 le 07/08/2008 07:57:59

Il sert à quoi, le "Implements" ?

Commentaire de violent_ken le 07/08/2008 08:13:05

Salut,

il sert à implémenter la classe IShortCut.

En gros, dans le code de notre form, on a çà :
Private Sub IShortCut_ShortCutActivated(shortcutTag As String)

qui est une méthode de l'interface. Pour qu'elle soit accessible dans notre form, il faut donc faire le Implements.

@+

Commentaire de ghuysmans99 le 07/08/2008 09:30:31

Oki !

Commentaire de violent_ken le 07/08/2008 20:18:17

MAJ :
- bug corrigé
- activation du raccourci que dans le cas où la form est bien celle qui a le focus

@+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Hook du clavier [ par Icem@n ] quelqu'un a t'il les source d'une DLL qui permets de faire un HOOK sur le clavier : setwindowshookexMerci d'avance Clavier [ par Sinrad ] Comment désactiver les 2 touches windows (menu démarrer et menu contextuel), avec VB 5.0 Entreprise.Merci d'avance.Et bravo pour le site, une mine d'o Creer un raccourci [ par Béné ] Bonjour,J'essaie de creer un raccourci dans le Menu Demarrer avec VB6.J'ai trouve un petit bout de code que j'ai adapte (ci-dessous).Malheureusement, Raccourci clavier vbScript & asp [ par ypothier ] Comment je fais un raccourci clavier ??? Comme lorsqu'on appuie sur "CTRL+S" dans word, ca permet de sauvegarder. Présentement, j'utilise "self.event. Touche de raccourci sans menu [ par Alexandre Gauthier ] comment mettre des touche de raccourci sans faire un menu... comme ctrl-c (commande) del (commande) etcthx Comment enrayer l'appui sur la touche "menu demarrer" du clavier svp [ par DarkSethys ] Salut, je cherche une reponse a cette question, pour des raison de securite, la touche "menu demarrer" du clavier ne doit en aucun cas afficher ce pt1 Keypress Touche F10 [ par jeffcantin ] Bonjour à tous...J'utilise la touche F10 pour faire un raccourci mais lorsque je clique sur cette touche, cela active mon menu (Bref ca va dans le men Besion d'aide : raccourci clavier !!!!!!! [ par barth707 ] Bonjour,j'ai regarder toutes les sources et faq sur les raccourcis clavier, mais je n'arrive pas à faire un raccourci clavier sur un form. Je ne compr raccourci clavier ? [ par patgphy ] Je voudrai que lors de l'éxécution de mon appli, au moment de rentrer une date, il soit possible d'utiliser F2 (par exemple) pour rentrer la date du j raccourci clavier pour macro sous outlook [ par Sintec16 ] Bonjour,Je suis en train de finaliser un dév sous Outlook XP... Mais pour qu'il soit plus facile d'accès je voudrais que mes macros soient accessible


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales